Cod sursa(job #700487)
| Utilizator | Data | 1 martie 2012 10:39:11 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include<fstream>
using namespace std; ifstream in("ciur.in"); ofstream out("ciur.out");
const int N=2000001;
bool v[N];
int n,nr;
void ciur(){
for(int i=2 ; i*i<=n ; i++){
if(v[i])
continue;
for(int j=i*i ; j<=n ; j+=i)
v[j]=true;
}
}
int main(){
in>>n;
ciur();
for(int i=2 ; i<=n ; i++){
if(!v[i]){
nr++;
}
}
out<<nr<<"\n";
return 0;
}
