Cod sursa(job #2040615)

Utilizator stefancincaStefan Cinca stefancinca Data 16 octombrie 2017 01:17:36
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#include <stdlib.h>
#define MAXINT 2000001

_Bool v[MAXINT];
int i, n,j,ans;
int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d", &n);
    for (i = 3; i <= sqrt(n); i += 2)
        for (j = i * 3 ; j <= n; j += i<<1)
            v[j] = 1;

    for (i = 3; i <= n; i += 2)
        if (v[i] == 0)
            ans++;

    if(n >= 2)  ans++;

    printf("%d\n",ans);
    return 0;
}