#include <iostream>
using namespace std;
typedef long long ll;
int main()
{
//求b^p%k
ll b,p,k;
cin>>b>>p>>k;
cout<<b<<"^"<<p<<" mod "<<k<<"=";
ll ans=1,base=b;
while(p)
{
if(p&1)
{
ans*=base;
ans%=k;
}
p=p>>1;
base=base*base; //是自乘,不是右移1
base%=k;
}
cout<<ans%k;
return 0;
}
快速幂 模板
最新推荐文章于 2024-06-04 11:08:12 发布