快速幂

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 long long a,b,p;
 4 long long quickpow(long long a,long long b,long long p)
 5 {
 6     long long ans=1;
 7     while(b)
 8     {
 9         if(b&1) ans=ans%p*a%p;
10         a=a*a%p;
11         b>>=1; 
12     }
13     return ans%p;
14 }
15 int main()
16 {
17     scanf("%lld%lld%lld",&a,&b,&p);
18     long long ans=quickpow(a,b,p)%p;
19     printf("%lld",ans);
20     return 0;
21 }

 

posted @ 2018-12-16 10:14  宇興  阅读(125)  评论(0编辑  收藏  举报