求 a 的 b 次方对 p 取模的值。
三个整数 a,b,p ,在同一行用空格隔开。
输出一个整数,表示a^b mod p
的值。
0≤a,b,p≤109 0≤a,b,p≤109
数据保证 p≠0
3 2 7
2
快速幂模板题
1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 typedef long long ll; 5 ll quickpow(ll a,ll b,ll p){ 6 if(!a) return 0; 7 ll ans=1%p; 8 while(b){ 9 if(b&1) ans=ans*a%p; 10 b>>=1; 11 a=a*a%p; 12 } 13 return ans; 14 } 15 int main(){ 16 ll a,b,p; 17 cin>>a>>b>>p; 18 cout<<quickpow(a,b,p)<<endl; 19 return 0; 20 }
原文:https://www.cnblogs.com/diara/p/13894760.html