A^B%C 快速幂模版
来源:互联网 发布:推倒女神的体验知乎 编辑:程序博客网 时间:2024/05/19 23:04
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
while (scanf("%lld%lld%lld",&a,&b,&c)!=EOF&&a!=0&&b!=0&&c!=0)
{
int k=1;
while (b>0)
{
if(b&1!=0) // 作用1:当 b为奇数,则先单独乘一个a
// 作用:当 b=1时,即 已经乘了 b=b/2=1后,将值赋给k
k=(k*a)%c;
a=(a*a)%c;
b>>=1; //a1=a%c 1=2^0
// a2=((a%c)*(a%c))%c 2=2^1
// a3=((a%c*a%c)%c*(a%c*a%c)%c) 4=2^2
printf("%d\n",k);
}
return 0;
}
using namespace std;
int main()
{
int a,b,c;
while (scanf("%lld%lld%lld",&a,&b,&c)!=EOF&&a!=0&&b!=0&&c!=0)
{
int k=1;
while (b>0)
{
if(b&1!=0) // 作用1:当 b为奇数,则先单独乘一个a
// 作用:当 b=1时,即 已经乘了 b=b/2=1后,将值赋给k
k=(k*a)%c;
a=(a*a)%c;
b>>=1; //a1=a%c 1=2^0
// a2=((a%c)*(a%c))%c 2=2^1
// a3=((a%c*a%c)%c*(a%c*a%c)%c) 4=2^2
//由此,可知 b=b/2 ,每次的 a 的个数为上一次的 2倍
//b>>1 == b/2
}printf("%d\n",k);
}
return 0;
}
- A^B%C 快速幂模版
- 快速幂,a^b mod c
- (A^B)%C 快速幂乘
- (A^B)%C 快速幂乘
- A^B Mod C(快速幂算法)
- A^B mod C(快速幂模板)
- 快速计算(a^b)%C
- 快速幂取模 ---> (a^b)%c
- (A^B)%C 快速幂乘 (简单数论)
- 快速幂算法 取余运算 a^b mod c
- 快速幂模+二分求和 求(∑A^b)%C
- FZU 1752 A^B mod C (快速幂)
- 数论——快速幂算法 a^b mod c
- 51nod 1046 A^B Mod C (快速幂)
- 51Nod 1046 A^B Mod C(快速幂)
- FZU Problem 1752 A^B mod C 快速幂乘
- BestCoder Round #80 A B C hdu5667矩阵快速幂
- 大数a^b%c(快速幂运算)模板
- thrift-异步client&server使用例子
- 对php代码优化的一些解释
- 制造企业3.0 基于流程的新的信息管理范例
- [CSS]清除浮动的三个方法
- 数据结构基础_高仿remove(value)方法
- A^B%C 快速幂模版
- HDU 3584 三维树状数组
- 监听器
- 个人笔记
- Postgres 9.2 Replication Configuration on CentOS 5
- tomcat设置上下文和配置多个应用
- Valid Palindrome
- 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份
- USTCOJ 1215 未知星球