Cod sursa(job #247566)

Utilizator stinkyStinky si Grasa stinky Data 23 ianuarie 2009 12:20:11
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
//#include<stdio.h>
#include<fstream>

//#include<fstream.h>

using namespace std;

const int N=2000001;

int main()
{
	//freopen("ciur.in","r",stdin);
	//freopen("ciur.out","w",stdout);
	ifstream in("ciur.in");
	ofstream out("ciur.out");
	int n;
	in>>n;
	char c[N]={0};//c[i]==0 <=> i este prim
	for(int i=2 ; i*i<=n ; ++i)
		if(c[i]==0)//daca i este prim
			for(int j=i*i ; j<=n ; j+=i)//marchez toti multiplii sai ca nefiind numere prime
				c[j]=1;
	int nr=0;
	for(int i=2;i<=n;++i)
		if(c[i]==0)
			++nr;
	out<<nr<<"\n";
	in.close();
	out.close();
	return 0;
}