Vereinfachen Sie eine Fraktion

8

Wie kann ich einen Bruch in PHP vereinfachen?

Zum Beispiel, 40/100 in 2/5 umwandeln.

Der einzige Weg, an den ich denken könnte, ist, eine Primfaktor-Faktorisierung für beide Zahlen zu machen und ähnliche Ergebnisse zu vergleichen, aber ich bin mir auch nicht sicher, wie ich das machen soll.

    
Steve Robbins 13.09.2012, 18:45
quelle

3 Antworten

21

Wenn Sie einen Bruch vereinfachen, teilen Sie den Zähler und den Nenner durch ihren größten gemeinsamen Teiler.

Sie müssen also nur die GCD der beiden Zahlen berechnen. Es gibt keine eingebaute Funktion dafür, aber es ist einfach genug, den euklidischen Algorithmus zu implementieren:

%Vor%

Teilen Sie dann einfach oben und unten.

%Vor%     
Niet the Dark Absol 13.09.2012, 18:50
quelle
3

Wenn Sie PHP gmp Erweiterung haben, können Sie dies tun.

%Vor%     
Mike Brant 13.09.2012 18:53
quelle
1

Der Algorithmus ist ziemlich einfach:

  • extrahiert beide Werte aus einer Zeichenfolge.
  • finde ihren größten gemeinsamen Teiler ($ gcd) (zum Beispiel mit Euklidischer Algorithmus )
  • Teilen Sie beide Werte durch $ gcd
  • Erstellen Sie die Zeichenfolge mit den gefundenen Werten
  • neu
raina77ow 13.09.2012 18:48
quelle

Tags und Links