Programma C per verificare se un numero è primo o meno

In questo esempio, imparerai a verificare se un numero intero inserito dall'utente è un numero primo o meno.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:

  • C if … else Istruzione
  • C per Loop
  • C interrompi e continua

Un numero primo è un numero intero positivo che è divisibile solo per 1e se stesso. Ad esempio: 2, 3, 5, 7, 11, 13, 17

Programma per controllare il numero primo

 #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; ) 

Produzione

 Immettere un numero intero positivo: 29 29 è un numero primo. 

Nel programma, un ciclo for viene iterato da i = 2a i < n/2.

In ogni iterazione, se n è perfettamente divisibile per i viene verificato utilizzando:

 if (n % i == 0) ( ) 

Se n è perfettamente divisibile per i, n non è un numero primo. In questo caso, flag è impostato su 1 e il ciclo viene terminato utilizzando l' breakistruzione.

Dopo il ciclo, se n è un numero primo, flag sarà ancora 0. Tuttavia, se n è un numero non primo, flag sarà 1.

Visita questa pagina per scoprire come stampare tutti i numeri primi tra due intervalli.

Articoli interessanti...