import Foundation

func recGGT(m: Int, n: Int) -> Int {
    /* 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.*/
    var r : Int
    
    /* Das Ergebnis der Berechnung wird am Ende in der Variablen resultat
       gespeichert.*/
    var resultat : Int
    
    /* 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(m: n, 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(m: n, n: r)
    }
    
    return resultat
}

// Main
// Für die erste Zahl wird die Variable m deklariert.
var m : Int

// Für die zweite Zahl wird die Variable n deklaiert.
var n : Int

print("Geben Sie die erste Zahl an: ")

// Der eingegebene Wert wird an die Variable m übergeben.
m = Int(readLine()!)!
print("Geben Sie die zweite Zahl an:")

// Der eingegebene Wert wird an die Variable n übergeben.
n = Int(readLine()!)!

/* 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.*/
print(recGGT(m: m, n: n))
        
        
akzeptieren ablehen

Diese Website verwendet Cookies und Zählpixel, um Ihnen die bestmögliche Nutzung dieser Website zu ermöglichen.Learn more about cookies sehen Sie auch Datenschutz