Cod sursa(job #1827412)

Utilizator AndreiMaximIonutMaxim Andrei AndreiMaximIonut Data 11 decembrie 2016 20:06:58
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <stdio.h>
#include <bitset>
using namespace std;
#define Nmax 2000000
FILE *fin = fopen("ciur.in", "r");
FILE *fout = fopen("ciur.out", "w");
long nr,N,i,j;
bitset <Nmax> v;
int main()
{
    fscanf(fin,"%ld",&N);
    v[0]=v[1]=1;
    for(i=2; i*i<Nmax; i++)
        if(v[i]==0)
            for(j=i; j*i<Nmax; j++)
                v[i*j]=1;

    nr=1;
    for(i=3; i<=N; i+=2)
        if(v[i]==0) nr++;
    fprintf(fout,"%ld",nr);
    return 0;
}