Cod sursa(job #2140474)

Utilizator petrasromanPetras Roman petrasroman Data 23 februarie 2018 15:35:43
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool v[2000005];
int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    int j,i=3,n=97,k,nr=0;
    scanf("%d",&n);
    for(i=1;i*2+1<=n;i++)
    {
        if(!v[i])
        {
            k=i*2+1;nr++;
            for(j=k*k;j<=n;j+=k<<1)
                v[j/2]=1;
        }
    }
    /*for(i=1;i<n/2;i++)
        if(!v[i])
            printf("%d \n",i*2+1);*/
    printf("%d",nr+1);

    return 0;
}