Cod sursa(job #1369658)

Utilizator delta_wolfAndrei Stoica delta_wolf Data 3 martie 2015 10:28:08
Problema Ciurul lui Eratosthenes Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>
using namespace std;
int n,p[1000010];
int ciur(int n)
{
    int i,j,nr=1;
    for(i=1;2*(i*i+i)<=n;i++)
        if(p[i]==0)
        {
            for(j=2*(i*i+i);2*j+1<=n;j+=2*i+1)
            p[j]=1;
        }
    for(i=1;2*i+1<=n;i++)
            if(p[i]==0)nr++;
    return nr;
}
int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
    printf("%d",ciur(n));
    return 0;
}