#include 
#include 
#include 
#include 
#include 

using namespace std;

// Headers
string toString (double);
int toInt (string);
double toDouble (string);

int main() {

    // Für die erste Zahl wird die Variable A deklariert.
    int a;
    
    // Für die zweite Zahl wird die Variable B deklariert.
    int b;
    
    // 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.
    int c;
    
    // Als Speicher für den Zählerstand innerhalb der while Schleife wird die Variable k deklariert.
    int k;
    
    // Als Abbruchbedingung für die while Schleife wird die Variable r deklariert.
    int r;
    
    // Die Zwischenergebnisse und das Endergebnis werden in einer Variablen gespeichert. Dafür wird die Variable kgV deklariert.
    int kgV;
    
    cout << "Geben Sie die erste Zahl an: " << endl;
    cin >> a;
    cout << "Geben Sie die zweite Zahl an: " << endl;
    cin >> b;
    
    // 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;
    }
    do {
        
        // 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);
    cout << "Das kleinste gemeinsame Vielfache der zwei Zahlen ist: " << endl;
    cout << kgV << endl;
    return 0;
}

// Im Folgenden werden Funktionen zur Typumwandlung implementiert.
string toString (double value) { //int auch
    stringstream temp;
    temp << value;
    return temp.str();
}

int toInt (string text) {
    return atoi(text.c_str());
}

double toDouble (string text) {
    return atof(text.c_str());
}
        
        
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