Cod sursa(job #1915448)

Utilizator deepsterescuCraciunescu Denis Bogdan deepsterescu Data 8 martie 2017 21:02:36
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;
#define N 1000000

bool p[N]; //2*i +1 e prim
int nr,n;

void ciur()
{
    for (int i = 1; (i << 1) + 1 <= n; i += 1)
    {
        if (p[i] == 0)
        {
            nr++;
            for (int j = i + i + i + 1; (j << 1) + 1 <= n; j += (i << 1) + 1)
            {
                p[j] = 1;
            }
        }
    }
}


int main()
{
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    nr = 1;
    scanf("%d",&n);
    ciur();
    printf("%d",nr);
}