【题目描述】
输入b,p,kb,p,k的值,求bpmodkbpmodk的值。其中b,p,k×kb,p,k×k为长整型数。
【输入】
输入b,p,kb,p,k的值。
【输出】
求bpmodkbpmodk的值。
【输入样例】
2 10 9
【输出样例】
2^10 mod 9=7
【参考代码】
cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
long long b,p,k;
cin>>b>>p>>k;
cout<<b<<"^"<<p<<" mod "<<k<<"=";
long long ans=1;
long long m=b;
while(p>0){
if (p%2==1){
ans*=m;
ans%=k;
}
p/=2;
m*=m;
m%=k;
}
cout<<ans;
return 0;
}