Cod sursa(job #1445663)

Utilizator mouse_wirelessMouse Wireless mouse_wireless Data 30 mai 2015 18:17:24
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <cstdio>
#include <cassert>
#include <algorithm>
#define _submit
#ifdef _submit
#define InFile "ciur.in"
#define OutFile "ciur.out"
#else
#define InFile "fis.in"
#define OutFile "fis.out"
#endif

#define MAXN 2000010

char marked[MAXN];

int ciur(int n) {
	int nrPrimes = 1;
	for (int i = 3; i <= n; i += 2)
	if (!marked[i]) {
		nrPrimes++;
		for (int j = i; j <= n; j += i)
			marked[j] = 1;
	}
	return nrPrimes;
}

int main() {
	assert(freopen(InFile, "r", stdin));
	assert(freopen(OutFile, "w", stdout));
	int N;
	scanf("%d", &N);
	printf("%d\n", ciur(N));
	return 0;
}