Cod sursa(job #801304)
| Utilizator | Data | 23 octombrie 2012 22:18:49 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
#include<math.h>
using namespace std;
int main(){
ifstream fin("ciur.in");
ofstream fout("ciur.out");
double n, aux;
int a[2000], i, j;
fin >> n;
aux = floor(sqrt(n));
for(i=1; i<=n; i++) a[i] = 1;
for(i=2; i<=aux; i++){
if(a[i] == 1){
for(j=i*i; j<=n; j= j+i) a[j] = 0;
}
}
j=0;
for(i=2; i<=n; i++) {
if(a[i] == 1) j++;
}
fout << j;
fin.close();
fout.close();
return 0;
}
