#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
long long b,p,k,ans;
long long qpow(long long n,long long x,long long mod)
{
if(x==0) return 1;//遞歸出口:0次方爲1
long long res=qpow(n*n%mod,x/2,mod);//遞歸
if(x&1) res=res*n%mod;//若x爲奇數那麼把返回值乘上n
return res;
}
int main()
{
scanf("%lld%lld%lld",&b,&p,&k);
ans=qpow(b,p,k);
printf("%lld^%lld mod %lld=%lld",b,p,k,ans);
return 0;
}
快速冪
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.