Cod sursa(job #2088753)
Utilizator | Data | 15 decembrie 2017 19:59:05 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
int c[2000000];
int main () {
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
int p, w, n, i, s;
c[0] = 1;
p = w = 2;
fin>>n;
while ( p <= n ) {
w = p;
while ( w <= n ) {
c[w] = 1;
w += p;
}
while ( c[p] && p <= n )
p++;
}
s = 0;
for ( i = 0; i < n; i++ )
s += (c[i]+1)/2;
fout<<++s;
return 0;
}