Cod sursa(job #427619)

Utilizator hendrikHendrik Lai hendrik Data 28 martie 2010 06:48:33
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;

void open(){
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
}
int n,ans;
bool isprime[2000010];

int main(){
    open();
    scanf("%d",&n);
    for (int i=1;i<=n;i++) isprime[i]=1;
    ans=1;
    for (int i=3;i<=n;i+=2){
        if (isprime[i]){
            ans++;
            for (int j=3;j*i<=n;j+=2){
                isprime[i*j]=0;
            }
        }
    }
    printf("%d\n",ans);
    return 0;
}