Cod sursa(job #313221)

Utilizator costin22Muraru Costin costin22 Data 8 mai 2009 12:50:45
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
#include <vector>
#define N 2000200
//#define FOR(i,1,n) for(i=1;i<=n;++i)
//const int N=2000200;
using namespace std;

int main()
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	int i,j,nr,n;
	scanf("%d",&n);
	nr=0;
	//bool c[N]={false};
	vector <bool> c(N,false);
	for (i=2; i*i<=n; ++i)
	//FOR(i,1,n)
	{
		if (c[i]==false)
            for (j=i*i; j<=n; j=j+i)
                c[j]=true;				
	}
	for (i=2; i<=n; ++i)
	{
		if (!c[i]) 
			nr++;
	}
	printf("%d",nr);
	return 0;
}