/***************************************************************** * "Hogyan ne programozzunk" minta * * * * 2. változat: Sz.v.sz. helyes stílus * ***************************************************************** * Legnagyobb közös osztó euklideszi algoritmussal * * bemenet: 2 egész szám (a,b) * * kimenet: LNKO(a,b) * * Lásd: http://hu.wikipedia.org/wiki/Euklideszi_algoritmus * ***************************************************************** * 2011. 08. 05. * * Balogh László * * blaci947@yahoo.co.uk * *****************************************************************/ #include //#include // Felesleges! int lnko(int a, int b); // Legnagyobb közös osztó // bemenet: a kérdéses számok // algoritmus: Euklideszi algoritmus // kimenet: maga a l.n.k.o. int main() { int a,b; // bementei számok // Adatbeolvasás: (2 x egész szám) [mért. egy.: 1] printf("a: "); scanf("%d", &a); printf("b: "); scanf("%d", &b); // megj.: ha adatellenőrzést, vagy előzetes feldolgozást is végeztem volna, // akkor ezt is külön függvénybe tettem volna // Számítás és eredménykiírás egyben: printf("LNKO(%d,%d) = %d\n", a, b, lnko(a,b)); system("pause"); return 0; } int lnko(int a, int b) // Legnagyobb közös osztó // bemenet: a kérdéses számok // algoritmus: Euklideszi algoritmus // kimenet: maga a l.n.k.o. { int r; // osztási maradék a ciklusban r = a % b; while (r != 0) { a = b; b = r; r = a % b; // maradékképzés; ha a maradék 0, akkor a l.n.k.o. az utolsó nevező } return b; }