Die n-te Wurzel von xist eine Zahl r, die rzur Potenz von 1/nist x.
In reellen Zahlen gibt es einige Unterfälle:
- Es gibt zwei Lösungen (gleicher Wert mit entgegengesetztem Vorzeichen), wenn sie
xpositiv und rgerade sind.
- Es gibt eine positive Lösung, wenn sie
xpositiv und rungerade ist.
- Es gibt eine negative Lösung, wenn sie
xnegativ und rungerade ist.
- Es gibt keine Lösung, wenn
xnegativ und gerade rist.
Da Math.poweine negative Basis mit einem nicht ganzzahligen Exponenten nicht gefällt, können Sie verwenden
function nthRoot(x, n) {
if(x < 0 && n%2 != 1) return NaN;
return (x < 0 ? -1 : 1) * Math.pow(Math.abs(x), 1/n);
}
Beispiele:
nthRoot(+4, 2);
nthRoot(+8, 3);
nthRoot(-8, 3);
nthRoot(-4, 2);