#include <iostream>
using namespace std;
int main()
{
long b,p,k,result=1;
cout<<"请输入底数 : "<<endl;
cin>>b;
cout<<"请输入指数 : "<<endl;
cin>>p;
cout<<"请输入余数 : "<<endl;
cin>>k;
long array[64];
long t=p;
int l=0;
while (t!=0)
{
l++;
array[l]=t%2;
t/=2;
}
for (int i = l; i >0; i--)
{
t=(result*result)%k;
if (array[i]==1)
{
result=(b%k)*(t%k);
}
else
{
result=t;
}
}
cout<<"结果为:"<<endl;
cout<<result<<endl;
system("pause");
return 0;
}
大数求余
最新推荐文章于 2023-02-24 16:17:04 发布