#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll b,p,k,result=1;
//b 为底数 p为指数
ll power(ll base,ll power,ll mo)
{
int result = 1;
if(base==0) return 0;
while(power>0)//指数大于零
{
if(power%2==1)//将 1次方分离出来
{
result=(result*base)%mo;
}
power/=2;
base=(base*base)%mo;
}
return result;
}
int main()
{
cin>>b>>p>>k;
ll ans=power(b,p,k);
printf("%lld^%lld mod %lld=%lld",b,p,k,ans);
return 0;
}
快速幂入门超简模板
最新推荐文章于 2024-04-27 21:13:10 发布