Cod sursa(job #1699494)

Utilizator raddudjPogonariu Radu raddudj Data 7 mai 2016 15:41:53
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>
#include <vector>

using namespace std;

int low[2000005];
vector <int> primes;

void ciur(int N){
    for(int i = 2; i <= N; i++){
        if(!low[i]){
            low[i]=i;
            primes.push_back(i);
        }
        for(int j=0; j < primes.size() && primes[j] <= low[i] && primes[j]*i <= N; j++)
            low[primes[j]*i]=primes[j];
    }
}

int main(){
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    int n;
    scanf("%d",&n);
    ciur(n);
    printf("%d",primes.size());
}