Was ist der einfachste Weg, um ein Verhältnis in PHP mehrere Nummern?

Habe ich angepasst, dies aus einem Beispiel dass ich gefunden im Netz...

function ratio($a, $b) {
    $_a = $a;
    $_b = $b;

    while ($_b != 0) {

        $remainder = $_a % $_b;
        $_a = $_b;
        $_b = $remainder;   
    }

    $gcd = abs($_a);

    return ($a / $gcd)  . ':' . ($b / $gcd);

}

echo ratio(9, 3); //3:1

Jetzt will ich es verwenden func_get_args() und Rückkehr der Verhältnisse für mehrere Nummern. Es sieht aus wie ein Rekursives problem, und die Rekursion freaks me out (vor allem, wenn meine Lösungen unendlich-Schleife)!

Wie würde ich das ändern, das so viele Parameter wie ich wollte?

Dank

  • nehmen Sie es von c Antwort : stackoverflow.com/questions/527860/calculate-a-ratio-in-c
  • Was meinst du mit 'die Verhältnisse für mehrere zahlen'? So etwas wie 2 : 3 : 5? Was Sie tun können, ist zunächst die Berechnung der prime factorizations für jedes Element in der Liste von zahlen. Das Produkt der Primfaktoren, die in der Kreuzung ist der größte gemeinsame Nenner. Die jeweiligen Anteile sind berechnet wie in deinem Beispiel.
InformationsquelleAutor alex | 2010-08-10
Schreibe einen Kommentar