Cod sursa(job #604666)
| Utilizator | Data | 24 iulie 2011 12:36:31 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include <iostream>
#include <set>
#include <fstream>
using namespace std;
int n;
set<int> cr;
void ciur(int x){
int a=2*x;
while(a<=n){
cr.erase(a);
a+=x;
};
};
main(){
ifstream inp;
inp.open("ciur.in");
ofstream oup;
oup.open("ciur.out");
inp >> n;
for(int i=2; i<=n; i++)cr.insert(i);
for(int i=2; i<=n; i++){
if(cr.count(i)){
ciur(i);};
};
oup << cr.size();
};
