系统提供的Math.pow(x,n)方法只能处理较小的数据,而快速幂算法是用于解决大数之间的幂次方运算问题,其时间复杂度为O(log2N),与传统方法使用b个a相乘的O(N)复杂度相比有了较大的提高。
位运算迭代
算法思想:假设欲求a^b,将指数转化为二进制表示,利用位运算&和>>判别指数的每一位。
变量base用来倍增a,

如果当前位是1则乘入result,最后返回result。
public static int pow(int n, int m){
int res = 1;
int base = n;
while(m != 0) {
if ((m&