import Foundation
// Für die erste Zahl wird die Variable A deklariert.
var a : Int
// Für die zweite Zahl wird die Variable B deklariert.
var b : Int
/* Für die Berechnung werden einige Hilfsvariablen benötigt. Um die Möglichkeit
zu haben, die zwei Zahlen miteinander zu vertauschen zu können, wird die
Variable c deklariert.*/
var c : Int
/* Als Speicher für den Zählerstand innerhalb der while Schleife wird die
Variable k deklariert.*/
var k : Int
// Als Abbruchbedingung für die while Schleife wird die Variable r deklariert.
var r : Int
/* Die Zwischenergebnisse und das Endergebnis werden in einer Variablen
gespeichert. Dafür wird die Variable kgV deklariert.*/
var kgV : Int
print("Geben Sie die erste Zahl an: ")
a = Int(readLine()!)!
print("Geben Sie die zweite Zahl an: ")
b = Int(readLine()!)!
// Die Variable k wird mit dem Wert 0 initialisiert.
k = 0
/* Hier wird geprüft, ob A kleiner als B ist, falls ja, werden die zwei Zahlen
miteinander vertauscht. Der Tausch erfolgt über die Variable c. Im Fall,
dass A nicht kleiner als B ist, beginnt die Berechnung.*/
if a < b {
c = a
a = b
b = c
}
repeat {
// Bei jedem Durchlaufen der while Schleife wird der Wert der Variable k um 1 erhöht.
k = k + 1
/* In der Variable kgV wird das Zwischenergebnis gespeichert. Dabei wird die
kleinere der beiden Zahlen mit dem Wert der Variablen k multipliziert. Da
der Wert k sich bei jedem Durchlaufe durch die Schleife um 1 erhöht, wird
der Wert der Variablen kgV bei jedem Durchlauf um der Wert der Variablen
A erhöht.*/
kgV = a * k
/* Mithilfe der Modulo Funktion wird geprüft, ob das Zwischenergebnis in
Variable kgV bereits das Endergebnis ist. Dazu wird kgV MOD B berechnet.
Das Ergebnis der Berechnung wird in der Variablen r gespeichert.*/
r = kgV % b
/* Solange r ungleich 0 ist, wird die while Schleife durchlaufen. Im Fall,
dass r gleich 0 ist, wird die Schleife beendet.*/
} while r != 0
print("Das kleinste gemeinsame Vielfache der zwei Zahlen ist: ")
print(kgV)