C/C++

C++ Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool

Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool isPrime(int n), проверяющей число на простоту, и функции vector<int> primes(int l, int r), возвращающей список простых чисел на отрезке [l;r].

Входные данные

Дано два натуральных числа l и r (l≤r≤1000).

Выходные данные

Выведите ответ на задачу.

Примеры
#include "cmath"
#include "vector"
#include "iostream"
using namespace std;
bool isPrime(int n)
{
if (n < 2) return false;
if (n == 2 || n == 3 || n == 5 || n == 7 ||
n == 11 || n == 13 || n == 17 || n == 19 ||
n == 23 || n == 29) return true;
if (n % 2 == 0 || n % 3 == 0 || n %5 == 0 ||
n % 7 == 0 || n % 11 == 0 || n % 13 == 0 ||
n % 17 == 0 || n % 19 == 0 || n % 23 == 0 ||
n % 29 == 0) return false;
int i, m = ceil(sqrt(n));
for (i = 31; i <= m; i += 2)
if (n % i == 0) return false;
return true;
}
vector primes(int l, int r)
{
vector a;
for (int i = l; i <= r; i ++)
if (isPrime(i)) a.push_back(i);
return a;
}
int main()
{
int i, l, r;
vector < int > res;
cout << "l r: ";
cin >> l >> r;
res = primes(l, r);
for (i = 0; i < res.size(); i++)
cout << res[i] << ' ';
}
ПМ
Петер Мюллер
1 374
Лучший ответ
Виктор Дубовский Че так мало строк? Надо было до 1000 все простые числа расписать в условии!
Kyrillos Samir программа говна
Аллах поможет
АМ
Антон Маркус
12 733
Ваня Баранцов Альхамдулиллах.

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