. Bruchaddition und -subtraktion

王林
Freigeben: 2024-08-24 06:40:41
Original
238 Leute haben es durchsucht

. Fraction Addition and Subtraction

592. Bruchaddition und -subtraktion

Schwierigkeit:Mittel

Themen:Mathematik, String, Simulation

Geben Sie bei einem gegebenen Zeichenfolgenausdruck, der einen Ausdruck der Addition und Subtraktion von Brüchen darstellt, das Berechnungsergebnis im Zeichenfolgenformat zurück.

Das Endergebnis sollte ein irreduzibler Bruch sein. Wenn Ihr Endergebnis eine ganze Zahl ist, ändern Sie es in das Format eines Bruchs mit dem Nenner 1. In diesem Fall sollte also 2 in 2/1 umgewandelt werden.

Beispiel 1:

  • Eingabe: Ausdruck = "-1/2+1/2"
  • Ausgabe: „0/1“

Beispiel 2:

  • Eingabe: Ausdruck = "-1/2+1/2+1/3"
  • Ausgabe: „1/3“

Beispiel 3:

  • Eingabe: Ausdruck = "1/3-1/2"
  • Ausgabe: „-1/6“

Einschränkungen:

  • Die Eingabezeichenfolge enthält nur „0“ bis „9“, „/“, „+“ und „-“. Das gilt auch für die Ausgabe.
  • Jeder Bruch (Eingabe und Ausgabe) hat das Format ±Zähler/Nenner. Wenn der erste Eingabebruch oder die Ausgabe positiv ist, wird „+“ weggelassen.
  • Die Eingabe enthält nur gültige irreduzible Brüche, wobei der Zähler und Nenner jedes Bruchs immer im Bereich [1, 10] liegen. Wenn der Nenner 1 ist, bedeutet dies, dass dieser Bruch tatsächlich eine ganze Zahl in einem oben definierten Bruchformat ist.
  • Die Anzahl der angegebenen Brüche liegt im Bereich [1, 10].
  • Zähler und Nenner des Endergebnisses sind garantiert gültig und liegen im Bereich von 32-Bit int.

Lösung:

Wir müssen die Eingabezeichenfolge sorgfältig analysieren und arithmetische Operationen an den Brüchen durchführen. Die Schritte sind wie folgt:

  1. Eingabeausdruck analysieren: Einzelne Brüche aus der Ausdruckszeichenfolge extrahieren.
  2. Berechnen Sie das Ergebnis: Addieren oder subtrahieren Sie die Brüche Schritt für Schritt.
  3. Vereinfachen Sie das Ergebnis: Wandeln Sie den letzten Bruch in seine irreduzible Form um.

Lassen Sie uns diese Lösung in PHP implementieren: 592. Bruchaddition und -subtraktion

<?php
// Example usage
echo fractionAddition("-1/2+1/2"); // Output: "0/1"
echo "\n";
echo fractionAddition("-1/2+1/2+1/3"); // Output: "1/3"
echo "\n";
echo fractionAddition("1/3-1/2"); // Output: "-1/6"
?>
Nach dem Login kopieren

Erläuterung:

  • gcd-Funktion: Berechnet den größten gemeinsamen Teiler zweier Zahlen, was bei der Vereinfachung des Bruchs hilft.
  • addFractions-Funktion: Addiert zwei Brüche. Es berechnet den gemeinsamen Nenner, passt die Zähler entsprechend an, addiert sie und vereinfacht dann den resultierenden Bruch.
  • fractionAddition-Funktion: Dies ist die Hauptfunktion, die den Eingabeausdruck analysiert, reguläre Ausdrücke verwendet, um alle Brüche zu extrahieren, und sie mithilfe der Funktion addFractions iterativ addiert.

Testfälle:

  • fraktionAddition("-1/2+1/2") gibt "0/1" zurück.
  • fraktionAddition("-1/2+1/2+1/3") gibt "1/3" zurück.
  • FractionAddition("1/3-1/2") gibt "-1/6" zurück.

Diese Lösung verarbeitet alle erforderlichen Vorgänge und gibt die korrekte Ausgabe für jeden gegebenen Ausdruck zurück.

Kontaktlinks

Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!

Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:

  • LinkedIn
  • GitHub

Das obige ist der detaillierte Inhalt von. Bruchaddition und -subtraktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!