快速幂
来源:互联网 发布:双11数据统计 编辑:程序博客网 时间:2024/05/16 02:12
问题:求(x^n)%mod (n<10^9)
模板:
code_1:
ll mod_pow(ll x, ll n, ll mod){ ll res = 1; while(n > 0) { if(n & 1) res = res*x%mod; //如果二进制最低位为1,则乘上x^(2^i) x = x*x%mod; //将x平方 n >>= 1; } return res;}
code_2:
/*也可以这样理解:当n为偶数时有x^n = ((x^2)^(n/2)), 递归转为n/2的情况。n为奇数时有x^n = ((x^2)^(n/2))*x, 同样也递归转为n/2的情况。这样不断递归下去,每次n都减半, 于是可以在O(logn)时间内完成幂运算。*/#include<stdio.h>typedef long long ll;ll mod_pow(ll x, ll n, ll mod){ if(n==0) return 1; ll res = mod_pow(x*x%mod, n/2, mod); if(n & 1) res = res*x%mod; return res;}
0 0
- 快速矩阵快速幂
- 快速幂,快速幂取模
- 快速幂 + 快速幂取模
- 快速幂 快速幂取模
- 快速幂&&快速乘法
- 快速幂&快速乘
- 快速幂 快速乘法
- 快速幂 快速幂取模
- 快速幂+快速乘法
- 【快速幂】【快速幂取模】
- 快速乘法-快速幂
- 快速乘/快速幂/矩阵快速幂
- 快速乘 快速幂 矩阵快速幂
- 快速幂,快速幂取模,矩阵快速幂
- 快速幂
- 快速幂
- 快速幂
- 快速幂
- POJ 3122
- iOS8下设置table的分割线,左侧总是有间距
- zabbix 监控jmx不出图的问题
- 大型网站系统架构的演化
- Iterator与ListIterator有什么区别?
- 快速幂
- UVa 210 Concurrency Simulator(双端队列)
- Hexo搭建Github Pages托管的静态个人博客
- eeprom设备驱动(client driver)详解(二)
- AngularJS学习笔记
- mac下tomcat的安装与配置
- 定点数与浮点数的相互转换
- iOS8系统下的无法弹出通知
- HBase简介(很好的梳理资料)