salve a tutti,
ho scritto questo codice, che al compilatore va benissimo:
poi però, quando lo eseguo mi stampa un numero pari (circa 22000) e poi windows mi avverte che il programma non risponde!codice:#define Bool int #define False 0 #define True !False #include <stdio.h> #include <stdlib.h> //funzione che ritorna 1 se il numero dato non è divisibile per alcun primo trovato sin ora Bool isPrimo(long x, long primi[], long nPrimi){ int tot=0; int i; for (i=1; i=nPrimi; i++){ if(x%primi[i]==0){ tot++; } } if (tot==0){ return True; } else{ return False; } } int main(int argc, char *argv[]) { long NoPrimi=0; long PrimiList[1000]; long i; for(i=0; i=256; i++){ Bool boolPrimo=isPrimo(i, PrimiList, NoPrimi); if(boolPrimo==True){ printf("%d, ", &i); PrimiList[NoPrimi]=i; NoPrimi++; } } system("PAUSE>nul"); return 0; }![]()
qualcuno sa dove sbaglio?

Rispondi quotando
