Cod sursa(job #2140464)

Utilizator petrasromanPetras Roman petrasroman Data 23 februarie 2018 15:24:33
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.51 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool v[1000001];
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),nr--;*/
    printf("%d",++nr);
    return 0;
}