
Задача на С++ Простые числа Выведите в порядке возрастания все простые числа на отрезке [l;r].
Оформите решение в виде функции bool isPrime(int n), проверяющей число на простоту, и функции vector primes(int l, int r), возвращающей список простых чисел на отрезке [l;r]. Входные данные Дано два натуральных числа l и r (l≤r≤1000). Выходные данные Выведите ответ на задачу. Примеры: Ввод 5 20 Вывод 5 7 11 13 17 19 Требуется дописать фрагмент кода #include #include using namespace std; bool isPrime(int n) # начало фрагментаvector primes(int l, int r) # конец фрагмента int main() { int l, r; cin >> l >> r; vector res = primes(l, r); for (int i = 0; i < res.size(); ++i){ cout << res[i] << " "; } return 0; }

Ответы на вопрос

#include <iostream>
#include <vector>
using namespace std;
bool isPrime(int n){
for (int i = 2; i < n; i++){
if (n % i == 0){
return 0;
}
}
return 1;
}
vector<int> primes(int l, int r){
vector<int> primesNumbers;
for (int i = l; i < r + 1; i++){
if (isPrime(i)){
primesNumbers.push_back(i);
}
}
return primesNumbers;
}
int main() {
int l, r;
cin >> l >> r;
vector res = primes(l, r);
for (int i = 0; i < res.size(); ++i){
cout << res[i] << " ";
}
return 0;
}



Для решения этой задачи, вы можете использовать функцию isPrime
, которая будет проверять, является ли число простым, и функцию primes
, которая будет находить все простые числа в заданном диапазоне. Давайте допишем недостающий код:
cpp#include <iostream>
#include <vector>
using namespace std;
bool isPrime(int n) {
if (n <= 1) return false; // 0 и 1 не являются простыми числами
if (n <= 3) return true; // 2 и 3 - простые числа
if (n % 2 == 0 || n % 3 == 0) return false; // проверка на делимость на 2 и 3
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) return false;
}
return true;
}
vector<int> primes(int l, int r) {
vector<int> result;
for (int i = l; i <= r; i++) {
if (isPrime(i)) {
result.push_back(i);
}
}
return result;
}
int main() {
int l, r;
cin >> l >> r;
vector<int> res = primes(l, r);
for (int i = 0; i < res.size(); ++i) {
cout << res[i] << " ";
}
return 0;
}
Этот код сначала проверяет, является ли число простым с помощью функции isPrime
, а затем находит и выводит все простые числа в заданном диапазоне с использованием функции primes
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili