Вопрос задан 24.06.2023 в 07:48. Предмет Информатика. Спрашивает Чуркин Антон.

Задача на С++ Простые числа Выведите в порядке возрастания все простые числа на отрезке [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; }
0 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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи, вы можете использовать функцию 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.

1 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос