标签:
利用次数的位运算二进制加速
1 #include<stdio.h>
2 #define ll long long
3
4 ll QuickPow(ll a,ll n,ll mod){
5 ll tmp=a,ans=1;
6 while(n){
7 if(n&1) ans=ans*tmp%mod;
8 tmp=tmp*tmp%mod;
9 n>>=1;
10 }
11 return ans;
12 }
13
14 int main(){
15 ll a,n,mod;
16 while(scanf("%lld%lld%lld",&a,&n,&mod)!=EOF){
17 ll m=QuickPow(a,n,mod);
18 printf("%lld\n",m);
19 }
20 return 0;
21 }
标签:
原文地址:http://www.cnblogs.com/cenariusxz/p/4324575.html