Cod sursa(job #1097189)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 3 februarie 2014 10:23:04
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>
#include <bitset>
#define Nmax 2000099
using namespace std;

int N,P[100000];
bitset < Nmax > v;


void Ciur(int N)
{
    P[++P[0]]=2;
    for(int i=3;i<=N;i+=2)
          if(!v[i])
          {
               ++P[0];
               //if(1LL*i*i<=1LL*N)
               for(int j=2*i;j<=N;j+=i)v[j]=1;
          }
}
int main()
{
    freopen("ciur.in", "rt", stdin);
    freopen("ciur.out", "wt", stdout);
    scanf("%d",&N);
    Ciur(N);
    printf("%d\n",P[0]);
    return 0;
}