Cod sursa(job #1096069)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 1 februarie 2014 14:57:48
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>
#include <stdlib.h>
char ciur[2000000000];
int main()
{
    int n,i,c=0,j;
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
    for(i=1; ((i<<1)+1)*((i<<1)+1)<=n; i++)
        if(ciur[i]==0){
            c++;
            for(j=((i<<1)+1); (j<<1)+1<=n; j+=((i<<1)+1)<<1)
                ciur[j]=1;
        }
    printf("%d",c+1);

    return 0;
}