Cod sursa(job #657264)

Utilizator sanzianaioneteIonete Sanziana sanzianaionete Data 6 ianuarie 2012 10:57:12
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<cstdio>
using namespace std;
int n,i,nr,m,k;
bool a[2000001];
int main()
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	scanf("%d\n",&n);
	m=n/2;
	for(i=2;i<=m;i++)
	{
		if (a[i]==false)
		{
		    k=2*i;
			while(k<=n)
			{
				a[k]=true;
				k=k+i;
			}
		}
	}
	for(i=2;i<=n;i++) if (a[i]==false) nr++;
	printf("%d\n",nr);
	fclose(stdin);fclose(stdout);
	return 0;
}