Cod sursa(job #2090835)

Utilizator Teodor.mTeodor Marchitan Teodor.m Data 18 decembrie 2017 19:36:48
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMax = 2e6 + 5;
bool viz[NMax];

int Ciur(int n)
{
	int k = 1;

	for(int i = 4; i <= n; i += 2)
		viz[i] = true;

	for(int i = 3; i <= n; i += 2) {
		if(viz[i] == false) {
			k++;
			for(int j = 2 * i; j <= n; j += i)
				viz[j] = true;
		}
	}
	
	return k;
}

int main()
{
  int n;
  fin >> n;
  fout << Ciur(n);
  return 0;
}