<?php
# Die folgende Funktion wird immer dann aufgerufen, wenn in ihr Programm Daten eingegeben werden..
# Sie können sie ändern, um andere Quellen zu verwenden.
function input() {
return fgets(STDIN);
}
function recGGT($m, $n) {
# Die Funktion recGGT berechnet den größten gemeinsamen Teiler zweier Zahlen. Die zwei Zahlen wurden der Funktion bereits als Argument übergeben.
# Die Variable r ist eine Hilfsvariable, die für die spätere Berechnung benötigt wird.
# Das Ergebnis der Berechnung wird am Ende in der Variablen resultat gespeichert.
# Nun wird geprüft, ob die zweite Zahl m kleiner als die erste Zahl n ist, falls ja, wird die Berechnung gestartet und im Fall das m größer ist, wird die Funktion recGGT mit vertauschten Argumenten, also recGGT(n, m) aufgerufen.
if ($m < $n) {
$resultat = recGGT($n, $m);
}
$r = $m % $n;
# Solange die Variable r ungleich 0 ist, wird die Funktion recGGT(n, r) aufgerufen. Im Fall, dass die Variable r gleich 0 ist, ist die Berechnung beendet. Und das Ergebnis wird in der Variablen resultat gespeichert.
if ($r == 0) {
$resultat = $n;
} else {
$resultat = recGGT($n, $r);
}
return resultat;
}
# Main
# Im folgenden Programm soll der größte gemeinsame Teiler (kurz ggT) von zwei Zahl n und m berechnet werden.
# Für die erste Zahl wird die Variable m deklariert.
# Für die zweite Zahl wird die Variable n deklaiert.
echo "Geben Sie die erste Zahl an: " . PHP_EOL;
# Der eingegebene Wert wird an die Variable m übergeben.
$m = input();
echo "Geben Sie die zweite Zahl an:" . PHP_EOL;
# Der eingegebene Wert wird an die Variable n übergeben.
$n = input();
# Die Funktion recGGT wird mit den Zahlen n und m als Argument aufgerufen und liefert als Ergebnis den größten gemeinsamen Teiler der beiden Zahlen zurück.
echo recGGT($m, $n) . PHP_EOL;
?>