Cod sursa(job #1094691)

Utilizator kiralalaChitoraga Dumitru kiralala Data 29 ianuarie 2014 18:48:35
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#include <cmath>
#define NMAX 2000001

using namespace std;

FILE* f=freopen("ciur.in","r",stdin);
FILE* o=freopen("ciur.out","w",stdout);

int n;
bool v[NMAX];
int count=1;

void Eratostene()
{
    for(int i=3;i<=sqrt(n);i+=2)
        if(!v[i]) {
            for(int j=i*i;j<=n;j+=i)
                v[j]=1;
        }
}

int main()
{
    scanf("%d",&n);
    Eratostene();
    for(int i=3;i<=n;i+=2) if(!v[i]) count+=1;
    printf("%d",count);
    return 0;
}