//#include #include #include #include #include #define L 55 #define K 24 #define M 32 int i = 0; int testa = 0; void inizializza (unsigned long *vet, int rank) { srand(time(NULL)+rank); // utilizza per rand il seme del tempo + il rank vet[0]=0; for (int i=1;i> 1; // temp = temp >> 1; // printf("%d\n",temp); // stampa del numero pseudo-casuale ottenuto vet[testa] = temp; if (++testa >= L) testa = 0; // aggiorno testa } int main (int argc, char **argv) { unsigned long vet[L]; int n,id; int pari = 0; double elapsed_time; if (argc!=2) { if (!id) printf("usage: %s \n",argv[0]); exit(1); } inizializza(vet,id); for ( i=0; i200) // just4test verifichiamo se i numeri sono pari o dispari, saltando i primi 200 non attendibili if((vet[testa] & 0x1) == 0) pari++; } printf("[%d] Numeri pari: %d\n",id, pari); printf("[%d] Numeri dispari: %d\n",id, (n - pari - 200)); if (!id) printf("Total elapsed time: %10.6f\n", elapsed_time); return 0; }