Cod sursa(job #1229766)

Utilizator afkidStancioiu Nicu Razvan afkid Data 18 septembrie 2014 03:01:40
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>

using namespace std;

int n;

int main()
{
    int cnt=1;
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
    bool check[n+1];
    for(int i=1;i<=n;i++)
        check[i]=true;
    if(n<2)
        printf("0");
    else if(n==2)
        printf("1");
    else for(int i=3;i<=n;i+=2)
    {
        if(check[i]==true)
            cnt++;
        for(int j=i+i+i;j<=n;j+=(i << 1))
            check[j]=false;
    }
    printf("%d\n",cnt);
    return 0;
}