我需要使用递归来计算给定数字的幂 计算xn(n≥0)的递归算法:
if n = 0, return 1.0
else return x * xn-1 (slow technique)
备用(更快)算法:
if n = 0, return 1.0
else if n is odd return x * xn-1
else { y = xn/2; return y * y;} (fast technique).
我解决了较慢的部分,但是我遇到了较快的部分。
private static double fastPower(double base, int expo) {
float a;
if (expo == 0) {
return 1.0;
}else if(expo/2 != 0) {
return base*fastPower(base,expo-1);
}else if(expo/2 == 0){
a = fastPower(base,expo/2);
return a*a;
}