快速幂顾名思义,就是快速算某个数的多少次幂。
其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。
快速幂:
int result(int a,int b,int m)
{
int d=1,t=a;
while(b)
{
if(b&1)
d=(d*t)%m;
b/=2;
t=(t*t)%m;
}
return d;
}
快速幂顾名思义,就是快速算某个数的多少次幂。
其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。
快速幂:
int result(int a,int b,int m)
{
int d=1,t=a;
while(b)
{
if(b&1)
d=(d*t)%m;
b/=2;
t=(t*t)%m;
}
return d;
}