C :: Aufgabe #62
3 Lösungen

Größter gemeinsamer Teiler
Anfänger - C
von hobeditz
- 21.09.2014 um 11:51 Uhr
Entwickeln Sie ein Programm, welches den größten gemeinsamen Teiler zweier Zahlen ermittelt. Die Zahlen sollen vom Nutzer selber bestimmt werden.
Zitat:
Tipp:
Der euklidische Algorithmus könnte helfen.
Lösungen:

/************************************** * ggt.c groesster gemeinsamer Teiler **************************************/ #include <stdio.h> unsigned ggt(unsigned p, unsigned q) { if (p == 0) return q; while (q > 0) { if (p > q) p = p-q; else q = q-p; } return p; } int main() { unsigned z1, z2; printf("Erste Zahl : "); scanf("%u", &z1); printf("Zweite Zahl: "); scanf("%u", &z2); printf("Der ggT ist %u\n", ggt(z1, z2)); return 0; }

int DoMath(int a, int b) { int gross, klein; if (a > b) { groß = a; klein = b; } else { gross = b; klein = a; } for (int i = 1; i < klein; i++) if (klein % i == 0) if (gross % (klein / i) == 0) return klein / i; return 1; }

#include <stdio.h> int ggt_berechnen(int zahl1, int zahl2) { int rest, ggt; rest=0; do { ggt= rest; rest = zahl1 % zahl2; zahl1 = zahl2; zahl2 =rest; }while(rest !=0); return ggt; } int main() { int zahl1, zahl2, ggT, rest, temp; printf("Bitte gebe die 1. Zahl ein: "); scanf("%d", &zahl1); printf("Bitte gebe die 2. Zahl ein: "); scanf("%d", &zahl2); //Umsortieren zahl1 muss die größere Zahl sein if (zahl1<zahl2) { temp=zahl2; zahl2=zahl1; zahl1=temp; } printf("\n\nDer größte gemeinsame Teiler ist: %d\n",ggt_berechnen(zahl1, zahl2)); }