V tomto článku sa naučíte skontrolovať, či je číslo prvočíslo alebo nie. To sa deje pomocou slučky for a while v Jave.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Java zatiaľ čo a robiť … zatiaľ čo Loop
- Java pre slučku
Prvočíslo je číslo, ktoré je deliteľné iba dvoma číslami: 1 a ním samotným. Ak je teda ktorékoľvek číslo deliteľné akýmkoľvek iným číslom, nejde o prvočíslo.
Príklad 1: Program na kontrolu prvočísla pomocou sluč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ýkon
29 je prvočíslo.
Vo vyššie uvedenom programe sa slučka for používa na určenie, či je dané číslo num prvočíslo alebo nie.
Tu si všimnite, že sa pohybujeme v cykloch od 2 do num / 2. Je to preto, lebo číslo nie je možné deliť na viac ako polovicu.
Vo vnútri for
slučky skontrolujeme, či je číslo deliteľné ľubovoľným číslom v danom rozsahu (2… num/2)
.
- Ak je num deliteľné, vlajka je nastavená na
true
a my sa vymaníme zo slučky. To určuje, že číslo nie je prvočíslo. - Ak num nie je deliteľné žiadnym číslom, príznak je false a num je prvočíslo.
Príklad 2: Program na kontrolu prvočísla pomocou cyklu 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ýkon
33 nie je prvočíslo.
Vo vyššie uvedenom programe sa slučka while používa namiesto slučky for. Slučka beží až do i <= num/2
. Pri každej iterácii sa kontroluje, či je num deliteľné číslom i a hodnota i sa zvyšuje o 1.
Na tejto stránke nájdete informácie o tom, ako môžete zobraziť všetky prvočísla v dvoch intervaloch.