Cod sursa(job #269968)

Utilizator mihnea_andreiMihnea Andrei mihnea_andrei Data 3 martie 2009 17:14:32
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
#include<vector>
#define N 2000010

using namespace std; 

int n;
vector <bool> c(N,true); 

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

void calcul ()
{ 
	for(int i=2;i*i<=n;i++) 
	{ 
		if(c[i]==true) 
		{ 
			for(int j=i*i;j<=n;j=j+i) 
				c[j]=false;
		}
	}
} 

int scrie ()
{ 
	int contor=-1; 
	for(int i=1;i<=n;i++) 
	{ 
		if(c[i]==true) 
			contor++;
	}
	return contor;
} 

int main ()
{ 
	in>>n; 
	calcul (); 
	out<<scrie (); 
	in.close (); 
	out.close (); 
	return 0;
}