Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2014
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.86 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <pthread.h>
  5.  
  6. void *delMult(double);
  7.  
  8. #define limite 10000
  9. int premier[limite];
  10.  
  11. int main(){
  12.    
  13.     premier[0] = 0;
  14.     premier[1] = 0;
  15.    
  16.     double i;
  17.     int totalPremier=0;
  18.     for(i=2; i<limite; i++){
  19.         premier[i] = 1;
  20.     }
  21.    
  22.     for(i=0; i*i<limite; i++){
  23.         if(premier[i]==1)
  24.         {
  25.             pthread_t t;
  26.             pthread_create(&t, NULL, delMult, (void*) i);
  27.             //usleep(10);
  28.         }
  29.     }
  30.    
  31.    
  32.     for(i=0; i<limite; i++)
  33.         totalPremier += premier[i];
  34.        
  35.     printf("Il y a %d nombres premiers inferieur à %d\n", totalPremier, limite);
  36. }
  37.  
  38.  
  39. void* delMult(double par){
  40.     double val = par;
  41.     int j;
  42.     for(j=val+1; j<limite; j++){
  43.         if(j%val == 0){
  44.             premier[j]=0;
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement