标签:
输入b,p,k的值,编程计算bp mod k的值。其中的b,p,k*k为长整型数(2^31范围内)。
b p k
输出b^p mod k=?
=左右没有空格
2 10 9
2^10 mod 9=7
//快速幂 #include<cstdio> #include<iostream> #define LL long long using namespace std; LL b,p,k; LL poww(int a,int b) { LL r=1,base=a; while(b) { if(b&1)r*=base; base*=base; base%=k; b/=2; r%=k; } return r%=k; } int main() { cin>>b>>p>>k; int tb=b%k; cout<<b<<"^"<<p<<" mod "<<k<<"="<<poww(tb,p); return 0; }
标签:
原文地址:http://www.cnblogs.com/harden/p/5642912.html