Cod sursa(job #699872)

Utilizator mihaiAgapeMihai Agape mihaiAgape Data 29 februarie 2012 21:45:19
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <cstdio>
#include <bitset>
#define NMAX 2000005
using namespace std;

int main()
{
	int N,primeCnt=0;
	bitset<NMAX> ePrim;

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

	ePrim.set();
	scanf("%d",&N);
	for(int i=3;i<=N;i+=2)
	{
		if(ePrim[i])
		{
			primeCnt++;
			for(int j=i*2;j<=N;j+=i)
				ePrim.reset(j);
		}
	}
	printf("%d",primeCnt+(N>=2?1:0));

	return 0;
}