Heim  >  Artikel  >  Web-Frontend  >  Berechnen Sie den Wert von (m)1/n in JavaScript

Berechnen Sie den Wert von (m)1/n in JavaScript

WBOY
WBOYnach vorne
2023-08-25 09:25:10914Durchsuche

在 JavaScript 中计算 (m)1/n 的值

In der Welt der JavaScript-Programmierung ist die Fähigkeit, (m) hoch 1/n zu berechnen, sehr wichtig, da sie es Entwicklern ermöglicht, komplexe mathematische Operationen genau und effizient durchzuführen. Dieser Artikel nutzt die Rechenleistung von JavaScript, um sich mit der Komplexität der Berechnung solcher Exponentialwerte zu befassen. Durch die Erforschung der zugrunde liegenden Algorithmen und den Einsatz selten verwendeter mathematischer Funktionen stellen wir Entwicklern das Wissen und die Tools zur Verfügung, die sie benötigen, um diese Berechnungen nahtlos in ihren JavaScript-Programmen durchzuführen. Begleiten Sie uns auf dieser inspirierenden Reise, während wir die Geheimnisse der 1/n-Leistungsberechnungen (m) lüften und Entwicklern die Möglichkeit geben, mathematische Herausforderungen mit neuem Selbstvertrauen anzugehen.

Math.pow()-Funktion

Die Funktion

Math.pow() ist eine integrierte Funktion im JavaScript-Math-Objekt, mit der Sie eine Basis multipliziert mit einem Exponenten potenzieren können. Es benötigt zwei Parameter: Basis und Exponent.

Die Syntax für die Verwendung von Math.pow() lautet wie folgt -

Math.pow(base, exponent);

Hier repräsentiert die Basis die Potenz der gewünschten Zahl und der Exponent die Potenz der gewünschten Basis.

Problemstellung

Gegeben zwei positive ganze Zahlen, eine Basis-Ganzzahl m und eine Exponential-Ganzzahl n, bestimmen Sie den Wert der n-ten Wurzel von m, ausgedrückt als m^(1/n). Gibt das auf die nächste ganze Zahl gerundete Ergebnis zurück.

Beispieleingabe -

m = 64, n = 3

Beispielausgabe -

4

Methode

In diesem Artikel werden wir verschiedene Möglichkeiten zur Lösung der oben genannten Probleme in JavaScript sehen -

  • Math.pow und Math.exp

  • Newtons Methode

  • Binäre Suche

Methode 1: Math.pow und Math.exp

Diese Methode verwendet die Funktion Math.pow(), um die n-te Wurzel einer Zahl zu berechnen. Es handelt sich um eine Codezeile: root = Math.pow(m, 1/n). Durch Potenzierung von m mit 1/n wird die Berechnung der erforderlichen Wurzeln einfacher. Diese Methode ist bequem, direkt und bietet eine schnelle Lösung, ohne dass benutzerdefinierte Algorithmen zur Wurzelsuche erforderlich sind.

Beispiel

In diesem Codeausschnitt wird die Funktion Math.pow() verwendet, um die n-te Wurzel einer bestimmten Zahl zu berechnen. Verwenden Sie die Formel Math.pow(m, 1/n), wobei m die Anzahl der zu findenden Wurzeln und n die Reihenfolge der Wurzeln darstellt. Der resultierende Wert wird in der Stammvariablen gespeichert und anschließend auf der Konsole angezeigt.

let m = 27;
let n = 3;
let root = Math.pow(m, 1/n);
console.log(root);

Ausgabe

Das Folgende ist die Konsolenausgabe -

3

Methode 2: Newtons Methode

Newtons Methode ist ein iterativer Algorithmus, der zur Approximation der Wurzeln einer Funktion verwendet wird. Wenn wir die n-te Wurzel einer Zahl m finden, beginnen wir mit einer anfänglichen Schätzung von m/n unter Verwendung der Newton-Methode. Anschließend verfeinert der Algorithmus die Schätzung mithilfe der Formel x = ((n – 1) * x + m / Math.pow(x, n – 1)) / n iterativ. Die Iteration wird fortgesetzt, bis die Differenz zwischen Math.pow(x, n) und m kleiner als die angegebene Toleranz ist. Der resultierende x-Wert stellt die ungefähre n-te Wurzel von m dar.

Beispiel

Die Funktion

​​nthRoot berechnet die n-te Wurzel einer gegebenen Zahl (m) mit optionaler Genauigkeit (Toleranz). Der anfängliche Schätzwert für die Wurzel wird auf m dividiert durch n festgelegt. Verfeinern Sie die Schätzung iterativ durch eine While-Schleife, bis die Differenz zwischen Math.pow(x, n) und m kleiner als die Toleranz wird. Die Formel der Newton-Methode wird in jeder Iteration verwendet, um eine bessere Näherung zu erhalten: x = ((n – 1) * x + m / Math.pow(x, n – 1)) / n. Gibt schließlich die endgültige Näherung der Wurzel zurück.

function nthRoot(m, n, tolerance = 0.0001) {
   let x = m / n; // Initial guess

   while (Math.abs(Math.pow(x, n) - m) > tolerance) {
      x = ((n - 1) * x + m / Math.pow(x, n - 1)) / n;
   }
   return x;
}
let m = 27;
let n = 3;
let root = nthRoot(m, n);
console.log(root);

Ausgabe

Das Folgende ist die Konsolenausgabe -

3.000000068671529

Methode 3: Binäre Suche

Die binäre Suchmethode wird verwendet, um die n-te Wurzel einer Zahl m zu finden. Es initialisiert den Suchbereich mit low = 0 und high = max(1, m). Durch die Berechnung des Mittelpunkts als Mitte wird die Mitte in der n-ten Potenz als Schätzwert bestimmt. Abhängig davon, ob der geschätzte Wert größer oder kleiner als m ist, wird der niedrige oder hohe Wert aktualisiert und so der Suchbereich halbiert. Die Iteration wird fortgesetzt, bis die Differenz zwischen den Hoch- und Tiefpunkten unter der angegebenen Toleranz liegt. Der Endwert von mid ist ungefähr die n-te Wurzel von m.

Beispiel

Die Funktion

nthRoot benötigt m, n und eine optionale Toleranz als Argumente. Die Low- und High-Variablen werden auf 0 bzw. max(1, m) initialisiert. Die While-Schleife wird fortgesetzt, bis die Differenz zwischen Hoch und Tief größer als die Toleranz ist. In jeder Iteration wird der Mittelpunkt (mid) berechnet. Die Guessvariable speichert die Mitte hoch n-tel. Abhängig davon, ob die Schätzung größer oder kleiner als m ist, aktualisieren Sie den niedrigen oder hohen Wert, um die Suche einzugrenzen. Wenn die Schleife endet, wird der endgültige Mittelwert als ungefähre n-te Wurzel von m zurückgegeben.

function nthRoot(m, n, tolerance = 0.0001) {
   let low = 0;
   let high = Math.max(1, m);
   let mid;

   while (high - low > tolerance) {
      mid = (low + high) / 2;
      let guess = Math.pow(mid, n);

      if (guess < m) {
         low = mid;
      } else if (guess > m) {
         high = mid;
      } else {
         break;
      }
   }
   return mid;
}
let m = 27;
let n = 3;
let root = nthRoot(m, n);
console.log(root);

Ausgabe

Das Folgende ist die Konsolenausgabe -

3.000040054321289

Fazit

Letztendlich stellt der Prozess der Berechnung von (m) hoch 1/n in JavaScript eine interessante Rechenherausforderung dar, die durch die Implementierung eines geeigneten Algorithmus elegant gelöst werden kann. Obwohl weniger verbreitet, ist diese Art mathematischer Operation in verschiedenen Bereichen wie Kryptographie, wissenschaftlicher Modellierung und Datenanalyse von großer Bedeutung. Durch die Nutzung der Leistungsfähigkeit von JavaScript und den Einsatz präziser Methoden können Programmierer diesen Ausdruck effizient auswerten, neue Möglichkeiten erschließen und die Entwicklung komplexer Anwendungen ermöglichen. Zusammenfassend lässt sich sagen, dass die Beherrschung der Berechnung von (m)1/n in JavaScript die mathematischen Fähigkeiten erweitert, die Programmierern zur Verfügung stehen, Innovation fördert und die Implementierung komplexer mathematischer Konzepte in der Welt der Webentwicklung ermöglicht.

Das obige ist der detaillierte Inhalt vonBerechnen Sie den Wert von (m)1/n in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen