Cod sursa(job #546299)

Utilizator dudu77tTudor Morar dudu77t Data 4 martie 2011 18:57:53
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;

vector<bool> ciur;
int n;

int main() {
	freopen("ciur.in", "r", stdin);
	freopen("ciur.out", "w", stdout);
	
	scanf("%d", &n);
	ciur.resize(n + 5, 1);
	
    int i, j, k = sqrt(n);
	for (i = 2; i <= k; ++i)
		for (j = i * i; j <= n; j += i)
			ciur[j] = 0;
	
	int count = 0;
	for (i = 2; i <= n; ++i)
		count += ciur[i];
		
	printf("%d\n", count);
}