Cod sursa(job #1184140)

Utilizator ariel_roAriel Chelsau ariel_ro Data 11 mai 2014 15:07:03
Problema Ciurul lui Eratosthenes Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#include <math.h>

#define NX 2000010

char sieve[NX];

int main() 
{
	int N;
	int count = 0;
     
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
 
    scanf("%d", &N);

	for (int i = 2; i * i <= N; i++) 
	{
		int square = i * i;

		int  j = 3;
		while (square <= N) 
		{
			sieve[square] = 1;
			square = i * j;
			j++;
		}
	}

	for (int i = 2; i < N; i++) 
	{
		if (sieve[i] == 0) 
		{
			count++;
		}
	}
    
    printf("%d", count);
	return 0;
}