Cod sursa(job #2918331)

Utilizator vasi_kosminskiHoroi Vasile vasi_kosminski Data 11 august 2022 10:53:45
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 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<int> check_if_visited(n + 1, 0);

	for (int i = 2; i <= n; i++)
	{
		if (check_if_visited[i] == 0)
		{
			if (check_prime(i))
			{
				for (int j = 2; j <= n; j++)
				{
					if (j * i > n)
					{
						break;
					}
					if (check_if_visited[j * i] == 0)
					{
						check_if_visited[j * i] = 1;
					}
				}

				nr++;
			}
		}
	}

	fout << nr;

	return 0;
}