Cod sursa(job #407580)

Utilizator MariusGeantaMarius Geanta MariusGeanta Data 2 martie 2010 14:10:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<stdio.h>

long n;char v[2000005];

int main()
{	long i,j;
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	scanf("%ld",&n);
	v[0]=v[1]=1;
	for (i=4;i<=n;i+=2) v[i]=1;
	for (i=3;i<=n;i+=2)
		if (!v[i])
		for (j=3;i*j<=n;j+=2)
			v[i*j]=1;
	long nr=0;
	for (i=2;i<=n;i++)
		if (!v[i]) nr++;
	printf("%ld\n",nr);
	return 0;
}