n-Ty pierwiastek xjest liczbą rtakie, że rdo potęgi 1/njest x.
W liczbach rzeczywistych jest kilka przypadków podrzędnych:
- Istnieją dwa rozwiązania (ta sama wartość z przeciwnym znakiem), gdy
xjest dodatnia i rparzysta.
- Jest jedno pozytywne rozwiązanie, kiedy
xjest pozytywne i rdziwne.
- Jest jedno rozwiązanie negatywne, kiedy
xjest ujemne i rjest dziwne.
- Nie ma rozwiązania, gdy
xjest ujemne i rrówne.
Ponieważ Math.pownie 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);