Cod sursa(job #886216)
| Utilizator | Data | 22 februarie 2013 18:30:39 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream vin("ciur.in");
ofstream duc("ciur.out");
int n; vin>>n; vin.close();
int s;
bool b[n+1]; for (int i=2; i<=n; i++) { b[i]=true;}
for (int i=2; i<=sqrt(n)+1; i++) { if (!b[i]) continue;
for (int j=i*i; j<=n; j=j+i) {
b[j]=false; }
}
s=0; for (int i=2; i<=n; i++) {if (b[i]) s=s+1;}
duc << s;
duc.close();
return(0);
}
