快速幂算法
求超大次幂的算法,可将时间复杂度从O(n)降为O(log2n)
公式就是要求a的b次方,如果b为偶数,那么ab= ab/2 * ab/2,
如果b为奇数,那么ab = a(b-1)/2 * a(b-1)/2 * a;
然后对ab/2同理递归。
//求a的b次方
int pow(int a,int b){
int r = 1, base = a;
while(b!=0){
if(b&1){
//说明b是奇数
r*=base;
}
base *= base;
b>>1;
}
return r;
}