#include<iostream>
using namespace std;
int lowbit(int n)
{
return n&(-n);
}
int main()
{
long long b,p,k,s=1;
cin>>b>>p>>k;
cout<<b<<"^"<<p<<" mod "<<k<<"=";
while(p)
{
int sum=b;
for(int i=1;i<lowbit(p);i*=2)
{
sum*=sum;
}
s*=sum;
p-=lowbit(p);
}
cout<<s%k;
return 0;
}
数据点3输入:
4523 59 7762
我的输出:
4523^59 mod 7762=1865
答案:
4523^59 mod 7762=6275
求查错,谢谢大佬!