Cod sursa(job #2040618)

Utilizator stefancincaStefan Cinca stefancinca Data 16 octombrie 2017 01:19:27
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.49 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 <= n; i += 2){
        if(v[i] == 0){
            for (j = i + i ; j <= n; j += i)
                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;
}