在计算机中,十进制可以和二进制进行转换,利用该原理可将指数转为
a=0或1
通过快速幂可将指数运算时间复杂度由O(n)降低到O(longn).
具体代码如下:
public static long fun(long base, int index){
long tmp = 1;
while (index > 0) {
if ((index & 1) == 1) {
tmp = base*tmp;
}
base *= base;
index >>= 1;
}
return tmp;
}