[noi-2291]快速幂运算
int quick_pow(int a,int n,int m){int t=1;while(n>1){if(n%2) t=(a*t)%m;a=(a*a)%m;n/=2;}return (a*t)%m;
}
这是一个标准的快速幂模板
然而这道题…
NOI:2991:2011
总时间限制: 1000ms 内存限制: 65536kB
描述
已知长度最大为200位的正整数n,请求出2011^n的后四位。
输入
第一行为一个正整数k,代表有k组数据,k<=200接下来的k行,
每行都有一个正整数n,n的位数<=200
输出
每一个n的结果为一个整数占一行,若不足4位,去除高位多余的0
这个题丧尽天良 用了一个200位的指数
简单思路,直接把指数用高精度运算
code:
#include<cstdio>
#include<cstring>
int quick_pow_ex(int a,int *n,int lenn,int m){int t=1,tp=0;while(lenn>0||n[0]>1){//两类情况:长度大于1或个位数小于1if(n[0]%2)t=(a*t)%m;a=(a*a)%m;tp=0;for(int i=lenn;i>=0;i--){tp*=10;tp+=n[i];n[i]=tp/2;tp%=2;}while(n[lenn]==0)lenn--;}return (a*t)%m;
}int main(){int t,n[300];char str[300];scanf("%d",&t);while(t--){scanf("%s",str);for(int i=strlen(str)-1,j=0;i>=0;i--,j++)n[j]=str[i]-'0';//标准高精度输入printf(!t?"%d":"%d\n",quick_pow_ex(2011,n,strlen(str)-1,10000));}
}
[noi-2291]快速幂运算相关推荐
- 2018蓝桥杯A组:分数(3种方法 循环累称 快速幂运算 移位运算)
一.题目:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前2项而 ...
- 快速幂运算(入门完整版)
快速幂运算 除数学问题之外,也有许多地方用到了幂运算.在此给大家介绍一种能够非常高效的计算幂运算的快速幂运算算法--反复平方法. Carmichael Number 我们把对任意的1<x< ...
- 快速幂运算——人见人爱A^B
题目链接:Problem - 2035 (hdu.edu.cn) Problem Description 求A^B的最后三位数表示的整数. 说明:A^B的含义是"A的B次方" In ...
- 快速幂算法c语言求a的n次方,快速幂运算模板(求n^k以及前几位或后几位)
计算n^k的结果 步骤: 1.把n由十进制转换为二进制,按二进制来计算(最后结果还是一样的) 2.把n由二进制转换为2^k相加的形式 先举个例子: 求5^22: 接着就可以很好地理解了 O(logn) ...
- 快速幂运算and 快速乘运算
ll qpow(ll a,ll b) {ll ans=1;while(b){if(b&1) ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}return an ...
- 快速幂运算 《挑战程序设计竞赛》
2018-3-1 这里我就对数进行说明,并没有对矩阵进行求解. 求x^n,其中n是一个比较大的数 如果用一般的方法的话,我们会直接进行累乘即可,时间复杂度是O(n),但是这个好像并不能满足我们的要求, ...
- C/C++:计算N的N次方的个位数(巧用快速幂与模运算性质)
题目描述(源自杭电OJ): 相关数学知识一:取模运算的性质 a乘b的结果对p取模等于a对p取模的结果乘b对p取模的结果再整体取模于p,详见下图 证明过程如下: 相关数学知识二:快速幂运算 以求a的b ...
- 一种快速的幂运算方法(底数是自然数e,指数是浮点数)
问题 [给一个浮点数 y y y,现在需要你求出 e y e^y ey 的值是多少]. 对于这个问题,最直接的方法是用库函数,例如在C++中<math.h>头文件提供了exp()函 ...
- python pow函数——幂运算 快速幂算法实现思路
说明 python 内置pow函数用于实现幂的运算,在这里我使用的是快速幂算法实现pow函数功能. 快速幂 快速幂算法本质上基于的是分治思想. 优点:其时间复杂度为 O (log₂N), 与暴力遍历时 ...
最新文章
- 20应用统计考研复试要点(part36)--概率论与数理统计
- C++中宏与内联函数
- 你画我猜微擎版小程序源码
- VK维客众筹网整站源码 手机端众筹网站系统源码
- 全新胶囊网络Efficient-CapsNet效果显著!
- cmd删除txt部分文字_Python识别图片中的文字
- 内存泄露与内存溢出的区别
- 小苏的Shell编程笔记之六--Shell中的函数
- Exchange2010部署 配置证书
- mysql 内部 临时表_MySQL内部临时表何时使用磁盘
- 【渝粤教育】国家开放大学2018年秋季 0313-22T促销策划与实战 参考试题
- mysql自助完成翻页代码_MySql实现翻页查询功能
- 简单打印-双排标签102*30模板设计
- CSDN为什么要办一场面向开发者的云计算大会?
- Android开源实战:手把手教你实现一个简单 好用的搜索框(含历史搜索记录
- 知识图谱推理:现代的方法与应用
- 那么,储能电池的BMS与动力电池的BMS有什么区别呢?
- 子佩短信管家 v1.0.0
- 【VSCode】yarn : 无法加载文件 A:\yuke\node\node_gobal\yarn.ps1,因为在此系统上禁止运行脚本。
- RK3399 Android7.1 ACOVP导致系统死机
热门文章
- Cocos2dx游戏开发笔记23:《奇怪的大冒险》源码学习,附下载
- 国开电大 传感器与测试技术 形考任务
- Java高频面试题(四)
- 【Memento模式】C++设计模式——备忘录模式
- UppSite获融资210万美元 推免费网站转APP服务
- React 的受控组件和非受控组件有什么不同
- 阿里云搭建k8s kubeadm init失败的原因
- Android中%s %d %1$s %1$d %f以及空格占位符的使用
- NIST SP 800-132基于口令的密钥生成函数PBKDF和主密钥保护数据的方法研究
- 色情病毒“魅影杀手”的恶意行为及黑产利益链分析