salve a tutti,
ho scritto questo codice, che al compilatore va benissimo:
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;
}
poi però, quando lo eseguo mi stampa un numero pari (circa 22000) e poi windows mi avverte che il programma non risponde!
qualcuno sa dove sbaglio?