Cod sursa(job #884713)

Utilizator romykPrehari Romica romyk Data 21 februarie 2013 11:30:27
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<cstdio>
#include<bitset>
using namespace std;
bitset<2000010> p;
int n,i,j,cnt=1;
int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
   // n=10000000;
    for(i=3;i*i<=n;i+=2)
        if(!p[i])
        {
            cnt++;
            for(j=i*i;j<=n;j+=i<<1) p[j]=1;
        }
    for(;i<=n;i+=2)
        if(!p[i]) cnt++;
    printf("%d\n",cnt);
    return 0;
}