Miért a kisebb szám kell a ciklusba?
Ez a program két szám legnagyobb közös osztóját számolja kid, de nem értem, hogy miért kell a kissebb számmal dolgozni a ciklusban.
LNKO 2 program:
lnko=1, osztó=2
Kérj be két pozitív egész számot!
Ha a második kisebb, mint az első
Cseréld fel a két számot!
Amíg az első szám nagyobb vagy egyenlő az osztóval
Amíg mindkét szám osztható osztóval
Mindkét számot oszd el osztóval!
lnko-t szorozd meg osztóval!
Növeld osztót eggyel!
Írd ki osztót!
VÉGE.
Az algoritmus C nyelven:
#include <stdio.h>
int main(void){
int szam1, szam2, oszto=2, lnko=1;
printf("Adj meg 2 poz. egeszt: ");
scanf("%d%d",&szam1,&szam2);
if(szam1>szam2){ /* csere jön */
int temp=szam1;
szam1 = szam2;
szam2 = temp;
}
while( szam1>=oszto ){
while(szam1%oszto==0
&& szam2%oszto==0){
szam1 = szam1 / oszto;
szam2 = szam2 / oszto;
lnko = lnko * oszto;
}
oszto = oszto + 1;
}
printf("LNKO = %d",lnko);
return 0;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!