1 int powerpow(int a,int b)/*a是底数,b是指数,modd是模*/ 2 { 3 int ans=1; 4 int base=a;/*用来转移的变量*/ 5 while(b){ 6 if(b%2==1) 7 ans=(ans*base)%modd;/*如果b为奇数,结果乘一次,顺带着转移了*/ 8 base=(base*base)%modd;/*翻倍*/ 9 b/=2;/*指数减半*/ 10 } 11 return ans; 12 }