Розбір для Кількість простих чисел у діапазоні


Памʼятайте, що цей розбір слід використовувати лише коли ви застрягли, і не копіювати код з нього. Будь ласка, поважайте автора задачі та автора розбору.
Надсилання офіційного розвʼязку до того, як ви самі розвʼяжете задачу, є порушенням, за яке можна отримати блокування.
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int L, R;
    cin >> L >> R;

    vector<bool> isComposite(R + 1, false);
    for (int i = 2; (long long)i * i <= R; ++i) {
        if (!isComposite[i]) {
            for (int j = i * i; j <= R; j += i) {
                isComposite[j] = true;
            }
        }
    }

    int count = 0;
    for (int i = max(L, 2); i <= R; ++i) {
        if (!isComposite[i]) ++count;
    }

    cout << count << endl;
    return 0;
}

Коментарі

Будь ласка, прочитайте правила перед коментуванням.


Наразі коментарів немає.