快速幂
理解
一般的我们求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;
}
相关推荐