Pagini recente » Cod sursa (job #3344975) | Monitorul de evaluare | Cod sursa (job #391999) | Cod sursa (job #207187) | Cod sursa (job #3344974)
#include <iostream>
#define FIN "ciur.in"
#define FOUT "ciur.out"
using namespace std;
//presupunem toate prime, dupa care incepem sa taiem
int eratosthenes(int n) {
bool bool_erato[n + 1];
int i;
int size = n - 1;
for (i = 2; i < n + 1; i++) {
bool_erato[i] = true;
}
i = 2;
while (i * i <= n) {
if (bool_erato[i] == true) {
int j = 2;
while (i * j <= n) {
int prod = i * j;
if (bool_erato[prod] == true) {
size--;
}
bool_erato[prod] = false;
j++;
}
}
i++;
}
return size;
}
int main() {
int n;
freopen(FIN, "r", stdin);
freopen(FOUT, "r", stdout);
cin >> n;
cout << eratosthenes(n);
return 0;
}