Cod sursa(job #353007)

Utilizator space.foldingAdrian Soucup space.folding Data 3 octombrie 2009 21:27:54
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>
#include <stdlib.h>

char p[5000001];

int main()
{
    long n=0, i, j, nr=0;
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    scanf("%ld", &n);
    if(n>=2)
        printf("2\n");
    for(i=1; i<n/2; i++)
    {
        if(p[i]==0)
        {
            nr++;
            if(i<10000)
                for(j=2*i*i+2*i; j<n/2; j+=2*i+1)
                    p[j]=1;
        }
    }
    printf("%ld", nr);
    return 0;
}