Python中文网

一个关于 编程问题的解答网站.

有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java N根实现

我正在研究一种方法来计算一个数字的nth根。然而,我对负数的nth根有问题

大多数人说使用Math.pow(num, 1 / root),但这不适用于负数

我试过:

public static double root(double num, double root) {
    if (num < 0) {
        return -Math.pow(Math.abs(num), (1 / root));
    }
    return Math.pow(num, 1.0 / root);
}

但是,它并不适用于所有数字,因为根可以是小数。例如root(-26, 0.8)返回-58.71,但这是无效的输入。即使是根,这也会给出错误的答案。例如root(-2, 2)返回-1.41421,但是-2没有平方根


共 (0) 个答案