Cod sursa(job #2521873)

Utilizator BitwiseIonita Filip Arian Bitwise Data 11 ianuarie 2020 17:21:53
Problema Ciurul lui Eratosthenes Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
#include<stdio.h>
unsigned v[2000000];
std::ifstream f("ciur.in");
std::ofstream o("ciur.out");
void ciur(int n)
{
	v[0] = v[1] = 1;
	v[2] = 0;
	for (int i = 2; i * i <= n; i++)
		if (v[i] == 0)
			for (int j = 2; j <= n / i; j++)
				v[i * j] = 1;
}
void solve(int n)
{
	int nr = 2;
	for (int i = 4; i <= n; i++)
		if (v[i] == 0)
			nr++;
	o << nr;
}
int main(void)
{
	int n;
	f >> n;
	ciur(n);
	solve(n);
	return 0;
}