一般的我们求a^b可以跑一个for或者pow函数,这种在遇到大的数据范围很浪费时间或者存不下。 这时候就可以使用快速幂进行求解
快速幂使用了二进制的思想,假如b=11 二进制 1011 快速幂的作用就是给1与1之间的距离缩短了
int p_pow(int a,int b,int mod) { int c=1; while(b) { if(b&1)c=(c*a)%mod; a=(a*a)%mod; b>>=1; } return c; }