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.
??
While-silmukka ja oudot tulosteet?
jonne_boy
3
2736
Vastaukset
- Pizzanpaistaja
Et vaan osaa. Vaihda alaa.
- ei_nimimerkkia
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ä. - Ööökui
Onhan kymppikin vielä <= 10.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Oletko kertonut jo muille tunteistasi?
Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.824817- 1882178
- 1321822
- 1751445
- 331365
Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan
Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️161361ROTAT VALTAAVAT ALUEITA
Asukkaat nyt loukkuja tekemään ja kiireellä, jätehuolto kuntoon, jätteet niille kuuluville paikoille, huomioikaa yrittäj201309- 351116
Reuters: Ukraina on iskenyt Venäjän strategisia pommikoneita vastaan. Jopa 40 konetta vahingoittunut
Ukrainan turvallisuuspalvelu SBU on iskenyt Venäjän strategisia pommikoneita vastaan, kertoo Reuters. Uutistoimiston läh3161077- 781013