Cod sursa(job #634175)

Utilizator ml.vladareanVladarean Maria ml.vladarean Data 15 noiembrie 2011 19:40:25
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
using namespace std;
int N,nr=1;
char ciur[2000001];
void sol()
{
	int i=3,j;

	for(j=2;j<=N;j++)
		ciur[j]=1;
	
	
	while(i<=N)
	{
	if(ciur[i])
	{
		nr++;
		if(i<=N/2)
			for(j=i*i;j<=N;j+=2*i)
				if(ciur[j])
					ciur[j]=0;
		
		i+=2;
	}
	else
		i+=2;
	}

}
int main()
{
	ifstream fin("ciur.in");
	ofstream fout("ciur.out");
	fin>>N;
	fin.close();
	sol();
	fout<<nr;
	fout.close();
	return 0;
}