Creare una lista di numeri primi in C/C++ di Cristiano Armellini L'algoritmo che proponiamo per costruire una lista di numeri primi è molto semplice:si considera una lista di numeri dispari e per ogni numero dispari si cerca un divisore che sia compreso tra 3 e la parte intera della radice quadrata dello stesso numero. Se si trova un divisore vuol dire che quel numero non è primo altrimenti è primo e quindi viene stampato. L'applicazione si compone di un file eseguibile scritto in C++ e di un file .bat che manda in esecuzione l'applicativo e crea un file di testo dove viene dirottato l'output ovvero la lista dei primi listaprimi.cpp (listaprimi.exe dopo la compilazione) #include <stdio.h> #include <iostream.h> #include <math.h> int main(int argc, char *argv[]) { const long m = 30000 ; long lista[m]; long i, j; long temp; for(i=5; i <=m; i=i+2) lista[i] = i; for(i=5; i <=m; i=i+2) { for(j=3; j<= int(sqrt(i)); j=j+2) { if (fmod(i,j) == 0) { lista[i]=0; exit; } } } for(i=5; i <=m; i=i+2){ if (lista[i] != 0) { cout << lista[i] << "\n"; } } Mentre il file .bat (primi.bat) contiene semplicemente la seguente riga di codice: listaprimi.exe >> lista.txt di Cristiano Armellini ([email protected])