Tag: nth root

第n个根实现

我正在研究计算数字的第n 个根的方法。 但是,我遇到了负数的第 n 个根问题。 大多数人都说使用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 root(-2, 2)返回-1.41421 ,但-2没有平方根。