Cod sursa(job #206574)

Utilizator Adriana_SAdriana Sperlea Adriana_S Data 7 septembrie 2008 20:13:15
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>

const int N_MAX = 2000010;

int e[N_MAX];

int main()
{
	freopen("ciur.in", "r", stdin);
#ifndef _SCREEN_
	freopen("ciur.out", "w", stdout);
#endif

	int N;
	scanf("%d\n", &N);
	e[1] = 1;
	for (int i = 2; i <= N; i ++) {
		if (!e[i]) {
			for (int j = i + i; j <= N; j += i) {
				e[j] = 1;
			}
		}
	}

	int nr = 0;
	for (int i = 1; i <= N; i ++) {
		if (!e[i]) nr ++;
	}

	printf("%d\n", nr);
	
	return 0;
}