Cod sursa(job #599309)

Utilizator mihai.ortelecanOrtelecan Mihai alexandru mihai.ortelecan Data 28 iunie 2011 14:45:52
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.47 kb
/*
 * ciur.c
 *
 *  Created on: Jun 28, 2011
 *      Author: mihai
 */

#include <stdio.h>
#include <stdlib.h>
int N;
char nr[2000001];

int main() {

	freopen("ciur.in", "r", stdin);
	freopen("ciur.out", "w", stdout);
	scanf("%d", &N);
	int i = 2, j, nr_prime = 0;

	while (i * i <= N) {
		for (j = 2 * i; j <= N; j += i) {
			if (!nr[j]) {
				nr[j] = 1;
				if (j != i)
					nr_prime++;
			}
		}
		i++;
		while (nr[i])
			i++;
	}
	printf("%d", N - nr_prime - 1);
	return 0;
}