C :: Aufgabe #118

2 Lösungen Lösungen öffentlich

Bestimmung des kleinsten gemeinsamen Vielfachen (kgV)

Anfänger - C von Nachbar - 09.07.2016 um 10:08 Uhr
Schreibe ein Programm zur Bestimmung des kgV zweier natürlicher Zahlen (siehe Beispiel zur kgV-Berechnung). Die Berechnung soll ohne Beteiligung des größten gemeinsamen Teilers erfolgen.

Beispielausgabe:
Zahl 1: 5
Zahl 2: 7

kgV: 35

Lösungen:

vote_ok
von devnull (8870 Punkte) - 10.03.2017 um 23:20 Uhr
Quellcode ausblenden C-Code
/*****************************************
 * kgv.c  kleinstes gemeinsames Vielfache
 *****************************************/
#include <stdio.h>
  
int main(void) {
    int z1,z2, max,min, i;
 
    printf("Zahl 1: ");
    scanf("%d", &z1);
    printf("Zahl 2: ");
    scanf("%d", &z2);

    max = z1<z2 ? z2:z1;
    min = z1<z2 ? z1:z2;
    for(i=1; (i*max)%min != 0; i++)
		;
    printf("kgv = %d\n", i*max);
    return 0;
}
vote_ok
von kathleenw (3600 Punkte) - 09.07.2020 um 08:57 Uhr
Quellcode ausblenden C-Code
#include <stdio.h>
#include <stdlib.h>

int kgv(int zahl1, int zahl2)
{
    int i, kgv, temp;
    
    //zahl1 soll die kleinere der beiden Zahlen sein
    if (zahl1>zahl2){
        temp = zahl2;
        zahl2 = zahl1;
        zahl1 = temp;
    }
    
    kgv=0;
    i= zahl1*2;
    
    do {
        if(i%zahl2==0)
            kgv=i;
        else
            i=i+zahl1;
    }while(kgv==0);
    
    return kgv;
}

int main(void)
{
    int zahl1, zahl2;
    
    printf("*** Bestimmen des kgv ***\n");
    printf("1. Zahl: ");
    scanf("%d", &zahl1);
    fflush(stdin);
    
    printf("2. Zahl: ");
    scanf("%d", &zahl2);
    fflush(stdin);
   
    printf("kgv(%d, %d) = %d\n", zahl1, zahl2, kgv(zahl1, zahl2));
    
    return EXIT_SUCCESS;
}