Предмет: Информатика, автор: 888Alena888

Задача на С++

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

Ответы

Автор ответа: timkafey
7

#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;

}


timkafey: понял
888Alena888: Все мои тесты программа прошла, но во время сдачи выдает ошибку "Программа выдает ошибку в процессе выполнения"
888Alena888: Кажется, нашел ошибку
888Alena888: Вместе с простыми числами выводит единичку
888Alena888: Не подскажете, как избежать этого?
888Alena888: Спасибо!
Похожие вопросы
Предмет: Қазақ тiлi, автор: Марьяноро1