home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pctech / 1988_02 / sieve.c < prev    next >
Text File  |  1985-08-18  |  774b  |  44 lines

  1. /* sieve.c - sieve benchmark program */ 
  2. #define true 1
  3. #define false 0
  4. #define ssize 8190
  5. #define sizepl 8191
  6.  
  7. #include "stdio.h"
  8.  
  9. main()
  10.  {
  11.    int i , niter , count ;
  12.  
  13.    printf("\n no. iterations:\n");
  14.    scanf("%d",&niter);
  15.  
  16.    for( i=1 ; i <= niter ; i=i+1 )
  17.       { count = sieve() ; } ;
  18.   
  19.    printf("\n thru - %d primes \n",count);
  20.  }
  21.  
  22.  
  23. int sieve()
  24.  {
  25.     int i,prime,k,count;
  26.     char flags[sizepl];
  27.         count=0;
  28.         for(i = 0; i<=ssize;i++)
  29.             flags[i]=true;
  30.         for(i=0;i <= ssize; i++){
  31.             if(flags[i]){
  32.                 prime = i+i+3;
  33.                 k=i+prime;
  34.                     while(k<=ssize){
  35.                         flags[k] = false;
  36.                         k += prime;
  37.                         }
  38.                     count = count+1;
  39.                 }
  40.             }
  41.     return(count);
  42.     }
  43. 
  44.