On siis tällainen ohjelma:
int luku=20, tekija=1;
while(tekija<=(luku/2))
{
if (luku%tekija==0)
System.out.println(tekija);
tekija=tekija 1;
}
Tulosteena tulee:
1
2
4
5
10
Kysymys: Miksi siihen tulee luvut 4, 5 ja 10 mukaan? Minun ymmärtääkseni while silmukan ehto (tekija<=(luku/2)) lakkaa jo aikaisemmin olemasta.
??
int luku=20, tekija=1;
while(tekija<=(luku/2))
{
if (luku%tekija==0)
System.out.println(tekija);
tekija=tekija 1;
}
Tulosteena tulee:
1
2
4
5
10
Kysymys: Miksi siihen tulee luvut 4, 5 ja 10 mukaan? Minun ymmärtääkseni while silmukan ehto (tekija<=(luku/2)) lakkaa jo aikaisemmin olemasta.
??
Vastaukset 3
Vanhimmat
Et vaan osaa. Vaihda alaa.
Ei oo virhettä. Ajattele pöytätestinä näin:
while(tekija<=(luku/2))
Sijoita luvut:
while(1<=(10))
Tuo 10 ei siis kasvaa missään kohtaa. Tekija sen sijaan kasvaa aina yhdellä.
Onhan kymppikin vielä <= 10.