快速幂取模
来源:互联网 发布:卡乐比麦片辐射 知乎 编辑:程序博客网 时间:2024/05/29 03:08
快速幂取模,即求a的n次方再取模,如果n很大,时间开销会很大
其原理是以下两个明显的公式:
代码如下:
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int MOD=1000009;LL powerMod(LL a,LL n){ LL res=1; while(n){ if(n%2) res=res*a%MOD; n/=2; a=a*a%MOD; } return res;}int main(){ LL a,n; while(cin>>a>>n){ LL res=powerMod(a,n); cout<<res<<endl; } return 0;}
时间复杂度为O(logn)。
0 0
- 快速幂,快速幂取模
- 快速幂 + 快速幂取模
- 快速幂 快速幂取模
- 快速幂 快速幂取模
- 【快速幂】【快速幂取模】
- 快速幂,快速幂取模,矩阵快速幂
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 快速幂取模
- 读取.properties配置文件
- PopupWindow的简单使用
- 在IOS应用中从竖屏模式强制转换为横屏模式
- centos 添加用户并赋予root权限
- 支付系统整体设计:整体架构设计以及注意要点(二)
- 快速幂取模
- Selenium自动化测试相关网站
- 用python在windows中打印
- chapter 7 exercise 7
- 正则表达式中多选项与字符组的区别
- 支付系统整体设计:整体架构设计以及注意要点(三)
- 三种网络检测举例
- Java基础学习总结(86)——Java异常处理机制Exception抛出异常时throw和throws用法详解
- 无需权限的震动