Cod sursa(job #2798546)

Utilizator Xutzu358Ignat Alex Xutzu358 Data 11 noiembrie 2021 15:54:33
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
///Ciurul lui Eratostene
#include <iostream>
#include <bitset>
#include <vector>
#include <fstream>

#define ll long long
#define nmax 2000005
using namespace std;

ifstream f("ciur.in");
ofstream g("ciur.out");


bitset < nmax > is_prime;
vector < int > prime_nr;
ll nr_of_primes=0;
ll n;

void ciur() {
    for (ll i=2;i<=n;i++) {
        if (is_prime[i]==0) {
            for (ll j=i*i;j<=n;j+=i) {
                is_prime[j] = 1;
            }
            prime_nr.push_back(i);
            nr_of_primes++;
        }
    }
}

int main()
{
    f >> n;
    ciur();
    g << nr_of_primes;
    return 0;
}