Cod sursa(job #3203188)

Utilizator laurentiu.maticaMatica Laurentiu-Andrei laurentiu.matica Data 13 februarie 2024 11:24:07
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
// #include <iostream>

#include <fstream>
#include <bitset>

using namespace std;

ifstream cin("ciur.in");
ofstream cout("ciur.out");

bitset<2000001>v;

void ciur(int n)
{
	int nr = 0;
	v[0] = v[1] = 1;
	for (int i = 4; i <= n; i += 2)
		v[i] = 1;
	for(int i=3;i*i<=n;i+=2)
		if (!v[i])
			for (int j = i * i; j <= n; j += 2 * i)
				v[i] = 1;

	for (int i = 2; i <= n; i++)
		if (!v[i])
			nr++;
	cout << nr;
}
int main()
{
	int n;
	cin >> n;
	ciur(n);
	return 0;
}