Cod sursa(job #418260)

Utilizator ssportcarsRaul Vasile ssportcars Data 15 martie 2010 18:29:16
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

ifstream in("ciur.in");
ofstream out("ciur.out");

unsigned int a[2000000],nr,n;

void afisare()
{
	
}

int main()
{
	in>>n;
	for(unsigned int i=2;i<n;i++)
	{
		unsigned int b=0,d=2;
		if(a[i]==0)
			while(d<=i/2)
			{
				if(i%d==0)b=1;
				d++;
			}
		if(b==0)
			{
				a[i]=1;
				for(unsigned int j=1;j<=n;j++)
					for(unsigned int c=i;c<=n;c++)
						if(a[c]==i*j)a[j]=2;
			}
	}
	for(unsigned int i=1;i<=n;i++)
	{
		if(a[i]==1)nr++;
	}
	out<<nr;
	return 0;
}