www.pudn.com > 文件恢复及修补 C 语言源程序.zip > SIEVE.C


 
 
#define true 1 
#define false 0 
#define size 8190 
#define sizepl 8191 
 
main() { 
        int i,prime,k,count,iter; 
        char flags[sizepl]; 
        printf("10 iterations\n"); 
        for(iter=1;iter<= 10;iter++){ 
                count=0; 
                for(i = 0; i<=size;i++) 
                        flags[i]=true; 
                for(i=0;i <= size; i++){ 
                        if(flags[i]){ 
                                prime = i+i+3; 
                                k=i+prime; 
                                        while(k<=size){ 
                                                flags[k] = false; 
                                                k += prime; 
                                                } 
                                        count = count+1; 
                                } 
                        } 
                } 
        printf("\n%d primes\n",count); 
        }