Cod sursa(job #1651897)

Utilizator andreinmAndrei andreinm Data 14 martie 2016 09:21:07
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <cstdio>
using namespace std;

int n;
char v[2000001];

int ciur(int n)
{
    int ans = 1;
    for (int i = 3; i <= n; i += 2){
        if (v[i] == 0) ans++;
        for (int j = 3*i; j <= n; j += (i << 1))
            v[j] = 1;
    }
    return ans;
}


int main()
{
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);

    scanf("%d", &n);
    printf("%d", ciur(n));

   return 0;
}