Pagini recente » Cod sursa (job #2576646) | Cod sursa (job #2163794) | Cod sursa (job #3005042) | Cod sursa (job #1422916) | Cod sursa (job #2223870)
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
const string IN_FILE = "ciur.in";
const string OUT_FILE = "ciur.out";
int countPrimes(const int n) {
int primeCount = 1;
auto isPrime = vector<bool>(n + 1, true);
for (int i = 3; i <= n; i += 2) {
if (isPrime[i]) {
primeCount++;
for (int j = min(1LL * n + 1, 1LL * i * i); j <= n; j += i) {
isPrime[j] = false;
}
}
}
return primeCount;
}
int readInput() {
ifstream in(IN_FILE);
int n;
in >> n;
in.close();
return n;
}
void writeOutput(const int count) {
ofstream out(OUT_FILE);
out << count << "\n";
out.close();
}
int main() {
const int n = readInput();
const int count = countPrimes(n);
writeOutput(count);
return 0;
}