Cod sursa(job #768519)

Utilizator mircea.dobreanuMircea Dobreanu mircea.dobreanu Data 17 iulie 2012 10:59:59
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
//Ciurul lui Eratosthenes
//https://infoarena.ro/problema/ciur
#include <fstream>
#define MAXN 2000000
using namespace std;
int n,nr=0;
bool p[MAXN];
void read();
void solve();
void write();
int main()
{
	p[0]=1;p[1]=1;
	read();
	solve();
	write();
	return 0;
}
void read()
{
	ifstream fin("ciur.in");
	fin>>n;
	fin.close();
}
void solve()
{
	for (int i=2;i<=n;i++)
	{
		if (p[i]==0)
		{
			nr++;
			for (int j=i+i;j<=n;j+=i)
				p[j]=1;
		}
				
	}
}
void write()
{
	ofstream fout("ciur.out");
	fout<<nr<<'\n';
	fout.close();
}