The n
- la radice di x
è un numero r
tale che r
alla potenza di 1/n
è x
.
In numeri reali, ci sono alcuni sottocasi:
- Ci sono due soluzioni (stesso valore con segno opposto) quando
x
è positivo e r
è ancora.
- C'è una soluzione positiva quando
x
è positivo e r
è dispari.
- C'è una soluzione negativa quando
x
è negativo e r
è dispari.
- Non c'è soluzione quando
x
è negativo e r
è pari.
Dal Math.pow
non piace una base negativa con un esponente non intero, è possibile utilizzare
function nthRoot(x, n) {
if(x < 0 && n%2 != 1) return NaN; // Not well defined
return (x < 0 ? -1 : 1) * Math.pow(Math.abs(x), 1/n);
}
Esempi:
nthRoot(+4, 2); // 2 (the positive is chosen, but -2 is a solution too)
nthRoot(+8, 3); // 2 (this is the only solution)
nthRoot(-8, 3); // -2 (this is the only solution)
nthRoot(-4, 2); // NaN (there is no solution)
Quante radici vuoi? Solo il singolo più ovvio, o tutti loro? –