快速幂
来源:互联网 发布:淘宝店铺出售平台 编辑:程序博客网 时间:2024/05/18 13:24
计算an % b,其中a,b和n都是32位的整数。
样例
例如 231 % 3 = 2
例如 1001000 % 1000 = 0
挑战
O(logn)
********************************************************
a^n % b
1.如果n 为奇数可以转化为 (a^(n/2) * a^(n/2) * a ) %b = ((a^(n/2)%b * a^(n/2)%b)%b * a%b) %b
2. 如果n 为偶数可以转化为 (a^(n/2) * a^(n/2) ) %b = (a^(n/2)%b * a^(n/2)%b)%b
class Solution { /* * @param a, b, n: 32bit integers * @return: An integer */ public int fastPower(int a, int b, int n) { // write your code here if(n == 0)return 1 % b;if(n== 1)return a % b;long temp = fastPower(a, b, n/2);if((n & 1) == 1)return (int) (((temp * temp)%b)*a%b);else return (int) (temp*temp%b); }};
0 0
- 快速矩阵快速幂
- 快速幂,快速幂取模
- 快速幂 + 快速幂取模
- 快速幂 快速幂取模
- 快速幂&&快速乘法
- 快速幂&快速乘
- 快速幂 快速乘法
- 快速幂 快速幂取模
- 快速幂+快速乘法
- 【快速幂】【快速幂取模】
- 快速乘法-快速幂
- 快速乘/快速幂/矩阵快速幂
- 快速乘 快速幂 矩阵快速幂
- 快速幂,快速幂取模,矩阵快速幂
- 快速幂
- 快速幂
- 快速幂
- 快速幂
- STM32的USB例程JoyStickMouse代码分析(全)--转载网友"追风"帖子
- 又一款牛逼哄哄的日历插件jeDate横空出世
- 算法时间复杂度分析基础
- C++小题(十一)
- Windows 下 Quartus 检测不到 USB-Blaster 终极解决办法
- 快速幂
- android学习日记(四):Fragment的实战下
- 浅谈Android性能优化方案
- 大索引技术,大数据的未来
- Proxifier
- ppp在linux下的编译和安装
- Mars: A MapReduce Framework on Graphics Processors Dedug调试
- Android提示版本更新(如何计算下载进度核心思路)
- 从零开始做运营 进阶篇