Cod sursa(job #1772082)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 6 octombrie 2016 14:51:22
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX = 2000001;
bool mark[NMAX];

void ciur()
{
	for (int i = 2; i*i <= NMAX; i++)
	{
		if (!mark[i])
		{
			for (int j = i*i; j <= NMAX; j += i)
				mark[j] = true;
		}
	}
}

int main()
{
	ciur();
	int n;
	in >> n;
	in.close();
	int nr = 0;
	for (int i = 2; i <= n; i++)
		if (!mark[i])
			nr++;
	out << nr << "\n";
	out.close();
	return 0;
}