Cod sursa(job #588700)

Utilizator deneoAdrian Craciun deneo Data 9 mai 2011 10:11:01
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<cstdio>
using namespace std;

bool c[2000005];

void ciur(int n){
	int i, j;
	for(i = 3; i <= n; i += 2)
		if(c[i] == 0) {
			for(j = i * i; j <= n; j += i)
				c[j] = 1;
		}
}

int main() {
	int i, j, n;
	int nr = 0;

	freopen("ciur.in", "r", stdin);
	freopen("ciur.out", "w", stdout);
	scanf("%d", &n);
	
	ciur(n);
	
	for(i = 3; i <= n; i += 2)
		if(c[i] == 0)
			++nr;
			
	printf("%d", ++nr);
	return 0;
}