Cod sursa(job #381545)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 10 ianuarie 2010 21:20:30
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<iostream>
#include<fstream>
using namespace std;
long long c[10000000];
int ciur(int n)
{
	long long i, j;
	for (i = 2; i <= n; i++)
		c[i] = i;
	i = 2;
	while (i <= n / 2)
	{
		if (c[i] != 0)
		{
			j = 2 * i;
			while (j <= n)
			{
				if (c[j] != 0)
					c[j] = 0;
				j += i;
			}
		}
		i++;
	}
	j=0;
	for (i = 2; i <= n; i++)
	{
		if (c[i] != 0)
		{
			j++;
		}
	}
	return j;
}

	
int main()
{
	long long m;
	fstream f("prim.in",ios::in);
	fstream h("prim.out",ios::out);
	f>>m;
	h<<ciur(m);
}