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