Cod sursa(job #2862672)

Utilizator QwertyDvorakQwerty Dvorak QwertyDvorak Data 5 martie 2022 18:06:10
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define mp make_pair
#define dbg(x) cout << #x <<": " << x << "\n";
using ll = long long;

const string myf = "ciur";
ifstream fin(myf + ".in");
ofstream fout(myf + ".out");

int n, ans;
bitset<2000005> prime;
void ciur() {
	prime[0] = prime[1] = 1;
	for (int i = 4; i <= n; i += 2)
		prime[i] = 1;
	for (int i = 3; i * i <= n; i += 2)
		if (prime[i] == 0)
			for (int j = i * i; j <= n; j += i + i)
				prime[j] = 1;
	ans = prime.count();

	prime.flip();
}

int main() {

	fin >> n;
	ciur();
	fout << n - ans + 1 << '\n';
	fin.close();
	fout.close();
	return 0;
}