快速幂**AcWing 89. a^b

求 a 的 b 次方对 p 取模的值。

输入格式

三个整数 a,b,p ,在同一行用空格隔开。

输出格式

输出一个整数,表示a^b mod p的值。

数据范围

0a,b,p109   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 }

 




posted @ 2020-10-29 08:54  莳曳  阅读(62)  评论(0)    收藏  举报