我知道如何推动战俘(双x,直播)
public class Solution {
public double myPow(double x, int n) {
if (n == 0)
return 1;
if (n % 2 == 0) {
return myPow(x * x, n / 2);
} else {
if (n > 0)
return x * myPow(x, n - 1);
else
return 1 / x * myPow(x, n + 1);
}
}
}
但如何让它处理双y?
答案 0 :(得分:1)
非整数值的指数化是用无限级数进行数学的:
See here under "Exponential Series Expansion" and "Exponential Theorem"
基本上,您将使用已知的无限系列术语,并计算满足您的数值精度要求的数量。
答案 1 :(得分:-2)
如果我没记错,你需要为log(自然对数)和exp(指数)写一系列扩展。
因为
log(x ^ y)= y * log(x)和< br /> exp(log(x))= x
您可以评估结果。我想我使用泰勒系列。
wikipedia