程序
public class QuickPowerAlgorithm {
public static void main(String[] args) {
long base=2;
long power=10;
long result = powerCalc(2, 10);
System.out.printf("%d^%d=%d",base,power,result);
}
public static long powerCalc(long base,long power) {
if(power==0)
return 1;
long base2 = powerCalc(base * base, power >> 1);
return (power&1)==1?base*base2:base2;
}
}
输出
2^10=1024
二分法为该算法核心思想
备注:程序未做异常情况处理