Cod sursa(job #479187)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 23 august 2010 11:27:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<algorithm>
#include<bitset>
using namespace std;
#define N_MAX 2000002
bitset <N_MAX> prime;
int main()
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);

	int i,j,n,rez=0;

	scanf("%d",&n);

	for(i=4;i<=n;i+=2)
		prime[i]=1;

	for(i=3;i*i<=n;i+=2)
	{
		if(prime[i])
			continue;
		for(j=i*i;j<=n;j+=i)
			prime[j]=1;
	}

	for(i=2;i<=n;i++)
		rez+=!prime[i];

	printf("%d\n",rez);
	return 0;
}