Я работаю над способом вычисления корня n th числа. Однако у меня проблемы с корнем n th из отрицательных чисел.
Большинство людей говорят использовать 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 не имеет квадратного корня.