Cod sursa(job #353009)

Utilizator space.foldingAdrian Soucup space.folding Data 3 octombrie 2009 21:29:14
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.46 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)
	nr++;
    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;
}