总结--快速幂
来源:互联网 发布:网络段子里的老司机 编辑:程序博客网 时间:2024/06/05 15:46
快速幂取余的思想是:
当 b为偶数时
(a^b mod m)=(a^(b/2) mod m)*(a^(b/2) mod m);
当b为奇数时 a^b=a^(b/2)*a^(b/2)*a^1;
(a^b mod m)=(a^b mod m)=(a^(b/2) mod m)*(a^(b/2) mod m)*(a mod m);
这种求幂的时间复杂度是O(log2n);
以下为实现代码:
#include<iostream>using namespace std;const long long int mod=10e8+7; //mod 根据需要赋值long long power(long long base,long long index){long long temp; if(index==0) return 1; base%=mod;temp=power(base,index/2); //递归求base^(index/2)的值temp=(temp*temp)%mod;if(index & 1==1) return (temp*base)%mod; //指数的奇偶讨论return temp;}int main(){int base,index;long long res;cin>>base>>index;res=power(base,index);cout<<res<<endl;return 0;}
- 快速幂,积取模总结
- 总结--快速幂
- 矩阵快速幂总结
- 快速幂总结
- 快速幂总结(一)
- 矩阵快速幂总结
- 矩阵快速幂 总结
- 矩阵快速幂总结
- 矩阵快速幂(总结)
- 快速幂总结,最大公约数(递归版本)
- 最简短总结-整数快速幂
- JQuery快速学习方法总结
- 总结的快速排序
- 快速排序总结
- Python快速教程总结
- 【排序总结--插入、快速】
- 快速排序总结
- 快速排序总结_legend
- C#重载运算符
- 无聊写个快排
- poj2041
- poj2059
- 开启从Lotus 邮件系统到Exchange 系统的转移篇章-POC过程-Exchange 2010 架构扩展及安装!
- 总结--快速幂
- 随笔-关于离职
- Centos5.4下编译安装php5.4.0
- 【小白的java成长系列】——linux下的java环境变量设置
- unicode 的utf-8 和GBK
- WPA破解原理简要——无线网络破解续
- poj2029
- printf 格式
- Linux环境下提升普通用户权限(sudo)