Cod sursa(job #447903)

Utilizator DuxarFII-Stefan-Negrus Duxar Data 1 mai 2010 21:07:57
Problema Ciurul lui Eratosthenes Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
#include<cmath>

using namespace std;

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

int p[200000]={2,2,3},n,nr;

void count();
int prim(int x);

int main()
{
	f>>n;
	count();
	g<<nr<<'\n';
	f.close();
	g.close();
	return 0;
}

int prim(int x)
{
	
	int i;
	for (i=1;i<=p[0]&&p[i]*p[i]<=x;++i)
		if (x%p[i]==0) return 0;
	return 1;
}

void count()
{
	int i;
	if (n==2) nr=1;
	else 
	{
		nr=1;
		for (i=3;i<=n;i+=2)
			if (prim(i)) 
			{
				p[++p[0]]=i;
				++nr;
			}
	}
}