Cod sursa(job #2918323)

Utilizator vasi_kosminskiHoroi Vasile vasi_kosminski Data 11 august 2022 10:32:01
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

std::ifstream fin("ciur.in");
std::ofstream fout("ciur.out");

bool check_prime(int n)
{
	if (n < 2)
		return false;

	for(int i = 2; i <= n/2; i++)
	{
		if (n % i == 0)
		{
			return false;
		}
	}

	return true;
}

int main() {
	int n{ 0 };
	int nr{ 0 };

	fin >> n;

	vector<bool> check_if_visited(n + 1, false);

	for (int i = 2; i <= n/2; i++)
	{
		if (!check_if_visited[i])
		{
			if (check_prime(i))
			{
				int number = 1;
				while (number * i <= n)
				{
					if (!check_if_visited[number * i])
					{
						check_if_visited[number * i] = true;
					}
					number++;
				}

				nr++;
			}
		}
	}

	fout << nr;

	return 0;
}