快速幂
来源:互联网 发布:简历java电商项目经验 编辑:程序博客网 时间:2024/06/07 02:40
核心思想是二进制转十进制
比如需要求
11的二进制表示为1011
运用位运算,就可以方便地快速幂
代码是对某一个数取模,洛谷上有相应的模板题
#include <cstdio>#include <iostream>using namespace std;typedef long long LL;LL b, p, k, ans = 1;LL fpower(LL b, LL p, LL k) { for(; p; p >>= 1, b = ((b%k)*(b%k))%k) if(p&1) ans = ((ans%k)*(b%k)) % k; return ans % k;}int main() { cin >> b >> p >> k; cout << fpower(b, p, k); return 0;}
时间复杂度大概达到O(logn)
阅读全文
0 0
- 快速矩阵快速幂
- 快速幂,快速幂取模
- 快速幂 + 快速幂取模
- 快速幂 快速幂取模
- 快速幂&&快速乘法
- 快速幂&快速乘
- 快速幂 快速乘法
- 快速幂 快速幂取模
- 快速幂+快速乘法
- 【快速幂】【快速幂取模】
- 快速乘法-快速幂
- 快速乘/快速幂/矩阵快速幂
- 快速乘 快速幂 矩阵快速幂
- 快速幂,快速幂取模,矩阵快速幂
- 快速幂
- 快速幂
- 快速幂
- 快速幂
- 链家笔试题
- 面试中的高频特色算法题(持续更新中)
- 杭电oj--2063
- Jmeter之后置处理器BeanShell PostProcessor与二进制响应
- MySQL_外键约束
- 快速幂
- c++ primer plus 第九章答案
- pow函数的用法
- 快速幂乘法,乘方
- Java提高篇——JVM加载class文件的原理机制
- CSS3进阶:深入理解浮动
- c++ new的用法
- 2017.8.20 后缀自动机(p3804) 思考记录
- 给Centos配置网络以及使用xshell远程连接Centos