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;
}