如何实现pow(双x,双y)?

Buf*_*lls 5 java algorithm math

我知道如何推动战俘(双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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是如何使它处理双y?

小智 1

非整数值的求幂是通过无穷级数以数学方式完成的:

请参阅此处的“指数级数展开”和“指数定理”

基本上,您将使用已知的无限级数项,并计算其中满足您的数值精度要求的数量。