快速幂**AcWing 89. a^b
求 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 }

浙公网安备 33010602011771号