Cod sursa(job #158160)

Utilizator znakeuJurba Andrei znakeu Data 13 martie 2008 14:38:02
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <stdio.h>
#define MAXN 2000002

int v[MAXN];

int ciur(int n)
{
	int i,j,count=1;
	
	for (i=4; i<=n; i+=2)
		v[i]=1;
	
	for (i=3; i<=n; i+=2)
		if (!v[i])
		{
			count++;
			for (j=2*i; j<=n; j+=i)
				v[j]=1;			
		}
	return count;
}

int main()
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	
	int n;
	
	scanf("%d",&n);
	
	printf("%d\n",ciur(n));
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}