Cod sursa(job #159852)

Utilizator reSpawnPopescu Ioan reSpawn Data 14 martie 2008 14:30:09
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>
#include <string.h>
int N, cnt;
char prim[2000005];

int main(void)
{
    int i, j;
    
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);

    scanf("%d", &N);
    /*for (i = 2; i <= N; ++i)
        prim[i] = 1;*/

	memset(prim, 1, 2000005);

    for (i = 2; i <= N; ++i)
        if (prim[i])
        {
            ++cnt;
            for (j = i+i; j <= N; j += i)
                prim[j] = 0;
        }

    printf("%d\n", cnt);

    return 0;
}