51nod1046快速幂取余

给出3个正整数A B C,求A^B Mod C。
 
例如,3 5 8,3^5 Mod 8 = 3。
Input
3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)
Output
输出计算结果
Input示例
3 5 8
Output示例
3
#include<stdio.h>
long long quickmod(long long a,long long b,long long m){
long long ans=;
while(b){
if(b&){
ans=(ans*a)%m;//这里a是a^(2^i)%m
b--;
}
b/=;
a=a*a%m;
}
return ans;
}
int main(){
int a,b,m;
while(scanf("%d%d%d",&a,&b,&m)!=EOF){
long long ans=quickmod(a,b,m);
printf("%lld",ans);
}
}
上一篇:Qt之pro配置详解


下一篇:(转)Nginx静态服务配置---详解root和alias指令