Cod sursa(job #247587)

Utilizator mihaitza_1993Fieraru Mihai mihaitza_1993 Data 23 ianuarie 2009 12:33:20
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<fstream>
using namespace std;

const int N=2000001;

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