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
2732
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
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod224554- 203685
Seiska: Anne Kukkohovi myy pikkuhousujaan ja antaa penisarvioita
Melko hupaisaa: https://www.seiska.fi/vain-seiskassa/ex-huippumalli-anne-kukkohovin-amerikan-valloitus-vastatuulessa-myy4052417- 272121
- 342014
Nainen, sellaista tässä ajattelin
Minulla on olo, että täällä on edelleen joku, jolla on jotain käsiteltävää. Hän ei ole päässyt lähtemään vielä vaan jost2391969- 351784
- 151698
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191497- 121351