Numeri primi

In questo articolo mostrerò un codice sorgente del programma che ho creato per calcolare numeri primi in automatico.
                                                       Codice Sorgente
// Programma che verifica se una serie di numeri sono primi – Davide Paolini
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
long int n=0, m=1, c=0, cont=0, cont2=0, cont3=0; //n = numero da testare, m = divisore, c = resto, cont1,2,3 = contatori
printf(“\nQuesto programma ricerca i numeri primi\n”);
printf(“Inserire la cifra da cui iniziare\n”);
scanf_s(“%i”, &n); //Inserimento della cifra da cui iniziare
printf(“Inserire la cifra con la quale terminare la ricerca\n”);
scanf_s(“%i”, &cont3); //Inserimento della cifra con cui terminare
cont2 = n;
while (cont2<cont3)
{
n++; //Incremento n
cont = 0; //Resetto il contatore
while (cont != 2 && n != 1) //Finché il contatore è diverso da 2 e n è diverso da 1

{
m = n; //Assegno a m il valore di n, perché un numero primo è primo solo se è divisibile per sé stesso e 1
while (m >= 1) //Finché m è maggiore o uguale a 1
{
c = n%m; //Salvo il resto della divisione tra n e m in c
if (c == 0) cont = cont + 1; //Controllo se il resto è uguale a 0 e se sì incremento cont
m = m – 1; //Decremento m
}
if (cont == 2) printf(“\nIl numero %i e’ primo\n”,n); //Se il contatore vale 2 il numero è primo
if (cont>2) cont = 2; //Altrimenti esco dal secondo ciclo impostando cont a 2
}
cont2++; //Incremento il contatore 2
}
printf(“\nProgramma terminato\n\n”);
system(“PAUSE”);
return 0;
}