乘方函数还有简解么# JobHunting - 待字闺中
y*m
1 楼
一个java稍微优化的,请指点更优化解,thx!
public static double pow(double a, int b) {
if (b == 0)
return 1;
else if (b == 1)
return a;
else if (b == -1)
return a;
else if (b == 1)
return 1 / a;
else if (b == 2)
return a * a;
else if (b == -2)
return 1 / (a * a);
else if (b % 2 == 0) {
return pow(pow(a, b/2), 2);
} else {
return pow(a, b-1) * a;
}
}
public static double pow(double a, int b) {
if (b == 0)
return 1;
else if (b == 1)
return a;
else if (b == -1)
return a;
else if (b == 1)
return 1 / a;
else if (b == 2)
return a * a;
else if (b == -2)
return 1 / (a * a);
else if (b % 2 == 0) {
return pow(pow(a, b/2), 2);
} else {
return pow(a, b-1) * a;
}
}