Cod sursa(job #1875952)

Utilizator cautionPopescu Teodor caution Data 11 februarie 2017 20:08:00
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <bits/stdc++.h>

const int kMaxN = 2000000;

bool v[kMaxN + 1];

int main()
{
	int n;
	freopen("ciur.in", "rt", stdin);
	freopen("ciur.out", "wt", stdout);

	scanf("%d", &n);

	for (int i = 3; i * i <= n; i += 2) {
		if (!v[i]) {
			for (int j = i * i; j <= n; j += i) {
				v[j] = 1;
			}
		}
	}

	int ctr = 1; //2 included
	for (int i = 3; i <= n; i += 2) {
		if (!v[i]) ++ctr;
	}

	printf("%d\n", ctr);

	return 0;
}