Java - prvocisla, kod

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod shockwave333 21. 10. 2021 13:07

Ahoj, pomohl by mi prosim nekdo popsat, jak probiha průchod cykly For. Jako napr. v prvnim cyklu je vybrano cislo 2, kod prechazi do vnoreneho cyklu For, kde 2<=2/2 a zde nechapu to j++, co se deje dal.
Přílohy
Screenshot_20211021_135058.jpg
shockwave333
Kolemjdoucí

Odeslat příspěvekod Wikan 21. 10. 2021 13:16

Prochází se čísla v intervalu <2; 100). Pro každé takové číslo se zjišťuje, jestli není dělitelné nějakým menším číslem.
Ostatně máš tam komentáře, takže která konkrétní část ti dělá problémy?
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod misko256 21. 10. 2021 17:22

Len doplnim, ze % je operator zvysok po deleni, teda 30%7=2, lebo zvysok po deleni 30/7 je 2
misko256
Junior

Odeslat příspěvekod meda2016 21. 10. 2021 18:49

Nu, probíhají dvě smyčky pro "i" a "j" s přičítáním po jedné a kontrolní dělení (zbytek). Pokud smyčka pro "j" najde jediné dělení beze zbytku, není kontrolované "i" prvočíslo a nedojde k jeho zobrazení.
Já spíš mám problém s horní mezí intervalu "j".
Možná moje chyba, viděl bych tam "j < i"...?
meda2016
Junior

Odeslat příspěvekod Wikan 21. 10. 2021 21:47

viděl bych tam "j < i"

To je sice funkční, ale zbytečné. Nemá smysl u "j" jít výše než druhou odmocninu z "i".
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod shockwave333 22. 10. 2021 06:38

Wikan píše:Prochází se čísla v intervalu <2; 100). Pro každé takové číslo se zjišťuje, jestli není dělitelné nějakým menším číslem.
Ostatně máš tam komentáře, takže která konkrétní část ti dělá problémy?


Vratim se tedy k druhemu cyklu, pokud z prvniho cyklu obdržím např. hodnotu 6, tak dosadím( j=2; 2<=6/2;j++;) to znamena,ze je splnena podminka v druhem cyklu "For" a pokracuje se do "if" podminky. Co se deje pak s "j++"v druhem cyklu FOR, zvetsi se na hodnotu 3 a pak ( j=3; 3<=6/3;j++;) a pak ..konec ..., protoze 2 neni vetsi nez 3 nebo...??? Tohle mi dela problem nebo se pak uz prejde do prvniho "For" cyklu ?? Dekuji
shockwave333
Kolemjdoucí

Odeslat příspěvekod Wikan 22. 10. 2021 06:49

Co se deje pak s "j++"

j++ se provede, tj. "j" se zvětší o 1.
a pak ..konec ..., protoze 2 neni vetsi nez 3 nebo...???

Ano a pak konec. Ale konec toho druhého foru, ne programu jako takového. Ten pokračuje dál, tentokrát s "i=7".
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod meda2016 22. 10. 2021 07:41

Protože cyklus "j" je vnořený do cyklu "i", konec pro "j" znamená návrat do cyklu "i", dokud se neukončí ten pro podmínku "i<100". Závorky {}. Pak konec programu.
meda2016
Junior

Odeslat příspěvekod shockwave333 22. 10. 2021 11:09

Dekuju vam moc, to jsem potreboval vedet.
shockwave333
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků