/* implementazione del crivello di Eratostene per la ricerca dei numeri primi */ #include #include #define N 1000 //------------------------------------------------- void rimuoviZeriI(int *pn, int v[]) { int i, nnz = 0; for (i=0; i < *pn; i++) { if (v[i] != 0) { v[nnz++] = v[i]; } } *pn = nnz; } //-------------------------------------------------- int main() { int i, ipr, pr, nPrimi=0, nMax, n=N, v[N]; for(i=0; i 2) nMax = floor( sqrt(n)); // massimo nr con cui provare while (ipr < nMax) { pr = v[ipr]; if(pr != 0) { // se non è già stato cancellato è primo for(i=(ipr+1); i