Cod sursa(job #839975)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 22 decembrie 2012 12:41:41
Problema Ciurul lui Eratosthenes Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>
#include <cmath>

using namespace std;

const int maxn=2000005;

long long n;
bool a[maxn];

int ciur(int n)
{
    long long i, j, x=sqrt(n);
    int nr=1;
    for(i=2; i<=x; ++i)
        for(j=i*i; j<=n; j+=i) a[j]=1;

    for(i=3; i<=n; i+=2) if(a[i]==0) ++nr;
    return nr;
}

int main()
{
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);

    scanf("%d ", &n);
    printf("%d\n", ciur(n));
}