Cod sursa(job #2879647)

Utilizator QwertyDvorakQwerty Dvorak QwertyDvorak Data 28 martie 2022 20:10:14
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 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;
}