V tomto článku se naučíte zkontrolovat, zda je číslo prvočíslo. To se provádí pomocí smyčky for a while v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Zatímco Java a dělat … zatímco Loop
- Java pro smyčku
Prvočíslo je číslo, které je dělitelné pouze dvěma čísly: 1 a samo o sobě. Pokud je tedy libovolné číslo dělitelné jakýmkoli jiným číslem, nejedná se o prvočíslo.
Příklad 1: Program pro kontrolu prvočísla pomocí smyčky for
public class Main ( public static void main(String() args) ( int num = 29; boolean flag = false; for (int i = 2; i <= num / 2; ++i) ( // condition for nonprime number if (num % i == 0) ( flag = true; break; ) ) if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); ) )
Výstup
29 je prvočíslo.
Ve výše uvedeném programu se smyčka for používá k určení, zda je dané číslo num prvočíslo nebo ne.
Zde si všimněte, že jsme smyčkovali od 2 do num / 2. Je to proto, že číslo není dělitelné více než jeho polovinou.
Uvnitř for
smyčky zkontrolujeme, zda je číslo dělitelné libovolným číslem v daném rozsahu (2… num/2)
.
- Pokud je num dělitelné, nastaví se příznak na
true
a my se vymaníme ze smyčky. To určuje, že num není prvočíslo. - Pokud num není dělitelné žádným číslem, příznak je falešný a num je prvočíslo.
Příklad 2: Program pro kontrolu prvočísla pomocí smyčky while
public class Main ( public static void main(String() args) ( int num = 33, i = 2; boolean flag = false; while (i <= num / 2) ( // condition for nonprime number if (num % i == 0) ( flag = true; break; ) ++i; ) if (!flag) System.out.println(num + " is a prime number."); else System.out.println(num + " is not a prime number."); ) )
Výstup
33 není prvočíslo.
Ve výše uvedeném programu se smyčka while používá místo smyčky for. Smyčka běží do i <= num/2
. Při každé iteraci je zkontrolováno, zda je num dělitelné číslem i a hodnota i je zvýšena o 1.
Na této stránce se dozvíte, jak můžete zobrazit všechna prvočísla mezi dvěma intervaly.