题目描述
求 a 的 b 次方对 p 取模的值。
输入格式
三个整数 a,b,p ,在同一行用空格隔开。
输出格式
输出一个整数,表示 a 的 b 次方mod p的值。
样例
输入数据
5 1 3
输出数据
2
代码
#include<cstdio>
typedef long long ll;
ll b,a,p,k,ans=1,c;
int main(){
scanf("%d%d%d",&b,&p,&k);
a=b,c=p;
while(p>0){
if(p%2!=0)ans=ans*b%k;
b*=b,b%=k;
p=p>>1;
}
ans%=k;
printf("%d",ans);
return 0;
}