以下以求a的b次方来介绍
把b转换成二进制数。该二进制数第i位的权为
例如
11的二进制是1011
11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1
因此,我们将a¹¹转化为算
Pow
1 int pow(int a,int b,int mod) 2 { 3 int ans=1; 4 a=a%mod; 5 while(b) 6 { 7 if(b&1) 8 ans=(ans*a)%mod; 9 a=(a*a)%mod; 10 b=b>>1; 11 } 12 return ans; 13 }