Heute präsentiere ich endlich mal wieder einen Beitrag der sich in die Richtung Mathe/Informatik bewegt. Eigentlich nichts weltbewegendes, nur zwei einfache Algorithmen, die einem beispielsweise beim Bruchrechnen das Leben einfacher machen können: Das kleinste gemeinsame Vielfache und der größte gemeinsame Teiler.
<?php /** * größer gemeinsamer Teiler nach Euclid * * @param int $a * @param int $b * @return int */ function ggT($a, $b) { if ($b == 0) { return $a; } return ggT($b, ($a%$b)); } /** * kleinstes gemeinsames Vielfaches * * @param int $a * @param int $b * @return int */ function kgV($a, $b) { return ($a*$b)/ggT($a, $b); } // Beispiel header("Content-Type:text/plain"); echo "ggT(114, 24) = ".ggT(114, 24)."\n"; echo "kgV(45, 35) = ".kgV(45, 35)."\n"; ?>
Die Ausgabe sollte wie folgt aussehen:
ggT(114, 24) = 6 kgV(45, 35) = 315
Wer den ggT bzw den kgV von mehreren Zahlen braucht, kann sich an folgende Regel halten:
kgV(a, b, c, d) = kgV(kgV(a, b), kgV(c, d))