Розбір для Кількість простих чисел у діапазоні
Памʼятайте, що цей розбір слід використовувати лише коли ви застрягли, і не копіювати код з нього. Будь ласка, поважайте автора задачі та автора розбору.
Надсилання офіційного розвʼязку до того, як ви самі розвʼяжете задачу, є порушенням, за яке можна отримати блокування.
Надсилання офіційного розвʼязку до того, як ви самі розвʼяжете задачу, є порушенням, за яке можна отримати блокування.
#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;
}
Коментарі