原理(两种理解)
)
)
例题
题目描述
给你三个整数 b,p,k,求 $b^p$mod k 。
输入格式
一行三个整数 b,p,kb,p,k
输出格式
输出 $b^p$ mod k=s
s 为运算结果
输入
2 10 9
输出
2^10 mod 9=7
#include<bits/stdc++.h>
using namespace std;
long long QuickPower(long long base,long long n,long long k){
long long ans=1;
while(n!=0){
if(n&1){
ans*=base;
ans%=k;
}
base*=base;
base%=k;
n>>=1;
}
return ans;
}
int main(){
long long base,n,k;
cin>>base>>n>>k;
//别忘了对最终的答案取模
printf("%lld^%lld mod %lld=%lld",base,n,k,QuickPower(base,n,k)%k);
}