#include #include #include #include #include void afficher(char* crible, int n) { for(int i = 0; i < n; i++) { if(crible[i]) printf("%d ", i); } printf("\n"); } void rayer_multiples(char* crible, int n, int k) { for(int i = 0; i < n; i++) { if(i % k == 0 && i != k) crible[i] = 0; } } int main(int argc, char **argv) { int n=1000; if(argc>1){ n = (int)strtol(argv[1],NULL,0); assert( n > 0 ); } char* crible = (char*)mmap(NULL, n * sizeof(int), PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0); assert(crible != MAP_FAILED); for(int i=0; i