Kezdőoldal » Számítástechnika » Programozás » Miért a kisebb szám kell a...

Miért a kisebb szám kell a ciklusba?

Figyelt kérdés

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;

}



2015. jún. 16. 22:30
 1/3 anonim ***** válasza:
Azért mert elég nehezen lehetne a legnagyobb közös osztó az egyik számnál nagyobb.
2015. jún. 16. 23:49
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Van olyan eset amikor nem működik a program, ha nem a kissebb számot rakom a ciklusba, vagy ez csak a hatékonyság miatt fontos?
2015. jún. 17. 00:07
 3/3 anonim ***** válasza:
Hatékonyság, de van ennél hatékonyabb megoldás is.
2015. jún. 17. 12:45
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!