Cod sursa(job #288413)

Utilizator yotherockerPuia Tudor yotherocker Data 25 martie 2009 19:33:29
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream.h>
#include<math.h>

unsigned long i=3,n,ciur=1;
unsigned long PRIM(unsigned long);

main()
{
	ifstream In("ciur.in");
	ofstream Out("ciur.out");
	In>>n;
	In.close();

	for(;i<=n;i+=2)
	{
	  if(i>5 && (i%3==0 || i%5==0)) continue;
	  if(PRIM(i)) ciur++;
	}
	Out<<ciur<<'\n';
	Out.close();
	return 0;
}

unsigned long PRIM(unsigned long x)
{
	short ok=1;
	for(unsigned long d=3;d<=sqrt(x);d+=2) if(x%d==0) {ok=0;break;}
	return ok;
}