Cod sursa(job #885361)

Utilizator raulmuresanRaul Muresan raulmuresan Data 21 februarie 2013 21:32:18
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>
#include <bitset>

using namespace std;
int i,aux,n,b,k,j,p,m,s,cont;
#define dim 2000001
//char v[dim];

bitset <dim> v;

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

    scanf("%d",&n);
    for(i=2;i<=n;i++)
    {
        i++;
        if(v[i]==0)
        {
            cont++;
            for(j=i;j<=(n/i)+1;j++)
            {
                v[i*j]=1;
                j++;
            }
        }

    }



     /*for(int i=2;i<n;++i){
        ++i;
        if(!v[i]){
            ++f;
            for(int j=i;j<=n/i;++j){
                v[j*i]=1;
                ++j;
            }
        }
    }*/


    printf("%hd\n",cont);

}