V tomto príklade sa naučíte skontrolovať, či je celé číslo zadané používateľom prvočíslo alebo nie.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:
- C ak … iné vyhlásenie
- C pre slučku
- C zlomiť a pokračovať
Prvočíslo je kladné celé číslo, ktoré je deliteľné iba 1
samým sebou. Napríklad: 2, 3, 5, 7, 11, 13, 17
Program na kontrolu prvočísla
#include int main() ( int n, i, flag = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 2; i <= n / 2; ++i) ( // condition for non-prime if (n % i == 0) ( flag = 1; break; ) ) if (n == 1) ( printf("1 is neither prime nor composite."); ) else ( if (flag == 0) printf("%d is a prime number.", n); else printf("%d is not a prime number.", n); ) return 0; )
Výkon
Zadajte kladné celé číslo: 29 29 je prvočíslo.
V programe je slučka for iterovaná od i = 2
do i < n/2
.
V každej iterácii sa kontroluje, či je n dokonale deliteľné i, pomocou:
if (n % i == 0) ( )
Ak je n dokonale deliteľné i, n nie je prvočíslo. V tomto prípade je príznak nastavený na 1 a slučka je ukončená pomocou break
príkazu.
Ak je po cykle n prvočíslo, príznak bude stále 0. Ak však n nie je prvočíslo, príznak bude 1.
Na tejto stránke nájdete informácie o tom, ako môžete tlačiť všetky prvočísla medzi dvoma intervalmi.