Cod sursa(job #2469599)

Utilizator vladadAndries Vlad Andrei vladad Data 7 octombrie 2019 19:23:52
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda basic_stuff Marime 0.46 kb
#include <bits/stdc++.h>
#define ull unsigned long long
#define mod 1999999973
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int n, v[2000001], nr;
void ciur(int x)
{
    for (int i = 3; i <= x; i += 2)
    {
        if (v[i>>4] & (1<<((i>>1)&7))) continue;
        nr++;

        for (int j=3*i; j<=x; j+=2*i)
            v[j>>4]|=1 << ((j>>1) & 7);
    }
}
int main()
{
    f>>n;
    ciur(n);
    g<<nr+1;
    return 0;
}