Pagini recente » Cod sursa (job #2894504) | Cod sursa (job #1212886) | Cod sursa (job #2599258) | Cod sursa (job #246174) | Cod sursa (job #2774018)
//
// Created by Andrei Covaci on 03.09.2021.
// https://infoarena.ro/problema/ciur
//
#include <fstream>
#include <iostream>
#define INPUT "ciur.in"
#define OUTPUT "ciur.out"
//#define INPUT "input.in"
//#define OUTPUT "output.out"
using namespace std;
int read() {
ifstream in(INPUT);
int n;
in >> n;
in.close();
return n;
}
int solve(int n) {
bool era[n + 1];
for(int i = 3; i <= n; ++i) {
era[i] = i % 2 != 0;
}
era[1] = false;
era[2] = true;
int prim = (n + 1) / 2;
for(int i = 3; i <= n; i += 2) {
for(int j = 2 * i; j <= n && era[i]; j += i) {
if (era[j]) --prim;
era[j] = false;
}
}
return prim;
}
void print(int n) {
ofstream out(OUTPUT);
out << n;
out.close();
}
int main() {
auto nums = read();
auto res = solve(nums);
print(res);
return 0;
}