Cod sursa(job #1458167)
| Utilizator | Data | 7 iulie 2015 02:26:27 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
using namespace std;
int primes (int n) {
bool *S = new bool[n + 1]();
int primes = 0;
for (int i = 2; i <= n; ++i) {
if (!S[i]) {
++primes;
int incr = i;
for (int j = i + incr; j <= n; j += incr) {
S[j] = 1;
}
}
}
delete[] S;
return primes;
}
int main (void) {
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
int n;
cin >> n;
cout << primes(n);
return 0;
}
