a^b
时间限制: 1 Sec 内存限制: 128 MB
题目描述:
求 a 的 b 次方对 p 取模的值,其中 0≤a,b≤10^9 , 0<p≤10^9
输入:
三个用空格隔开的整数a,b和p。
输出:
一个整数,表示a^b mod p的值。
样例输入:
2 3 9
样例输出:
8
已AC代码:
#include<stdio.h>
#include<math.h>
long long kuaiqiumi(long long a,long long b,long long c){
long long ans = 1 % c;
a %= c;
while(b){
if((b&1)){
ans = (ans*a)%c;
}
a = (a*a)%c;
b = b>>1;
}
return ans;
}
int main(){
long long a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d\n",kuaiqiumi(a,b,c));
return 0;
}