Cod sursa(job #2020584)

Utilizator titisportivuChiornita Traian - Adrian titisportivu Data 10 septembrie 2017 21:10:58
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

#define MAX 2000001

char numbers[MAX];

int primes (int A)
{
    int count = 1;

    for (int i = 3; i * i <= A; i += 2)
        if (numbers[i] == 0)
            for(int j = i*i; j <= A; j +=i)
                numbers[j] = 1;
    for (int i = 3; i <= A; ++i)
        if (i % 2 != 0 && numbers[i] == 0)
            count ++;
    return count; 
}

int main ()
{
	int X;

	freopen ("ciur.in", "r", stdin);
    freopen ("ciur.out", "w", stdout);

    scanf ("%d", &X);
    printf("%d\n", primes(X));

    return 0;
}