It is said that some editions

bool IsPrime[1000010];  
int Prim [1000010];  
int euler_prime(int n){  
    int num = 0, j;  
    for(int i = 2; i <= n; i ++){  
        if(!IsPrime[i])  
            Prime[num++] = i;  
        for(j  = 0; j < num; j ++){  
            if(i * Prim[j] > n)  
                break;  
            IsPrime[i * Prim[j]] = true;  
            if(i % Prim[j] == 0)  
                break;  
        }  
    }  
    //for(int i = 0; i < num; i ++){  
    //    cout << Prim[i] << endl;  
    //}  
}/*Eulerian sieve*/

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325946817&siteId=291194637