欧拉好像是叫Euler不过还是叫oula更好听...
1 void oula() { 2 memset(is_prime, 1, sizeof(is_prime)); 3 is_prime[1] = is_prime[0] = 0; 4 for(int i=2; i<=n; ++i) { 5 if(is_prime[i]) prime[++prime[0]] = i; 6 for(int j=1; j<=prime[0] && i*prime[j]<=n; ++j) { 7 is_prime[i*prime[j]] = 0; 8 if(i % prime[j] == 0) break; 9 } 10 } 11 }