Program C ke kontrole, zda je číslo prvočíslo nebo ne

V tomto příkladu se naučíte zkontrolovat, zda celé číslo zadané uživatelem je prvočíslo nebo ne.

Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:

  • C pokud … jiné prohlášení
  • C pro smyčku
  • C zlom a pokračuj

Prvočíslo je kladné celé číslo, které je dělitelné pouze 1sebou samým. Například: 2, 3, 5, 7, 11, 13, 17

Program ke kontrole 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ýstup

 Zadejte kladné celé číslo: 29 29 je prvočíslo. 

V programu je smyčka for iterována od i = 2do i < n/2.

V každé iteraci se kontroluje, zda n je dokonale dělitelné i, pomocí:

 if (n % i == 0) ( ) 

Pokud n je dokonale dělitelné i, n není prvočíslo. V tomto případě je příznak nastaven na 1 a smyčka je ukončena pomocí breakpříkazu.

Pokud je po smyčce n prvočíslo, bude příznak stále 0. Pokud však n není prvočíslo, bude příznak 1.

Na této stránce se dozvíte, jak můžete vytisknout všechna prvočísla mezi dvěma intervaly.

Zajímavé články...