计算一个数的幂--时间复杂度O(logN)
解题思路:
把数字n转化为二进制数,从右向左扫描,如果是1,进行累乘,每次移位num*=num;
public static void main(String[] args) {int base=2;int n=10;int bitNum = getBitNum(base, n);System.out.println(bitNum);}/** * 计算一个数的n次方 时间复杂度O(logn) * @param base * @param n * @return */public static int getBitNum(int base,int n){int num=base;int temp=1;while(n!=0){if((n&1)==1){temp*=num;}num*=num;n>>=1;}return temp;}