n
-Ty pierwiastek x
jest liczbą r
takie, że r
do potęgi 1/n
jest x
.
W liczbach rzeczywistych jest kilka przypadków podrzędnych:
- Istnieją dwa rozwiązania (ta sama wartość z przeciwnym znakiem), gdy
x
jest dodatnia i r
parzysta.
- Jest jedno pozytywne rozwiązanie, kiedy
x
jest pozytywne i r
dziwne.
- Jest jedno rozwiązanie negatywne, kiedy
x
jest ujemne i r
jest dziwne.
- Nie ma rozwiązania, gdy
x
jest ujemne i r
równe.
Ponieważ Math.pow
nie lubi ujemnej podstawy z wykładnikiem niecałkowitym, możesz użyć
function nthRoot(x, n) {
if(x < 0 && n%2 != 1) return NaN;
return (x < 0 ? -1 : 1) * Math.pow(Math.abs(x), 1/n);
}
Przykłady:
nthRoot(+4, 2);
nthRoot(+8, 3);
nthRoot(-8, 3);
nthRoot(-4, 2);