Я работаю над тем, как вычислить корень числа 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 не имеет квадратного корня.