Cod sursa(job #155800)

Utilizator damaDamaschin Mihai dama Data 12 martie 2008 10:25:09
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <stdio.h>

const int nmax = 2000001;

char v[nmax];

int ciur(int);

int main()
{
	freopen("ciur.in", "r", stdin);
	freopen("ciur.out", "w", stdout);

	int n, sol;

	scanf("%d", &n);

	sol = ciur(n);

	printf("%d\n", sol);

	return 0;
}

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