Pagini recente » Rating Sava Diana (dianasava) | Cod sursa (job #1342823) | Cod sursa (job #2657317)
#include <bits/stdc++.h>
#define VALUE(i) (p[(i) / 8] & (1 << ((i) % 8)))
#define SET(i) (p[(i) / 8] |= (1 << ((i) % 8)))
#define UNSET(i) (p[(i) / 8] &= ~(1 << ((i) % 8)))
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
char p[2000005 / 8 + 1];
int sol = 1;
void ciur(int N) {
for (int i = 3; i * i <= N; i += 2) {
for (int j = i * i; j <= N; j += i) {
SET(j);
}
}
for (int i = 3; i <= N; i += 2) {
if (VALUE(i) == 0) {
sol += 1;
}
}
}
int main() {
int N;
fin >> N;
ciur(N);
fout << sol << '\n';
}