Не знаю пишут ли тут готовый код, но я писать его, но попробую схемой.
Насчет диапазона я не понял точно, его тебе весь дали или в форме 1-10 или каждое число крч я пишу общее решение а ты уже подумаешь как в твоей ситуации работать
1. берешь все делители числа что бы сделать это ты узнаешь число и делишь в цикле от 1 и дальше i++, понятное нужны только такие делители про котором остаток будет 0 т.е делаешь проверку на то что бы (% == 0) если равно записываешь число(в массив или какт придумаешь), нет - идешь по циклу дальше проверяешь пока i!=твоему числу (это и нормально цикл намутит и сразу исключит самое число в качестве делителя)
если цикл закончился суммируешь всё что достал и проверяешь равна ли эта сумма твоему числу, если да используешь cout а в нем начальное число если нет идешь ко второму и заново схема
для такой махинации нужен наверно будет еще 1 цикл поверх этого с проверкой на то что твое число не равно конечному в диапазоне/
using namespace std;
bool isMultiple(int n, int m);
int main() {
setlocale(LC_ALL,"Russian");
int x, p;
cout << "x = ";
cin >> x;
cout << "p = ";
cin >> p;
int check[3] = { 2, 3, p },
l = sizeof(check)/sizeof(*check);
for(size_t i = 0; i < l; ++i) {
if ( isMultiple(x, check[i]) ) {
cout << "x кратное " << check[i] << '\n';
}
else {
cout << "x не кратное " << check[i] << '\n';
}
}
return 0;
}
bool isMultiple(int n, int m) {
if (n % m == 0) {
return true;
}
else {
return false;
}
}
Насчет диапазона я не понял точно, его тебе весь дали или в форме 1-10 или каждое число
крч я пишу общее решение а ты уже подумаешь как в твоей ситуации работать
1. берешь все делители числа
что бы сделать это ты узнаешь число и делишь в цикле от 1 и дальше i++, понятное нужны только такие делители про котором остаток будет 0
т.е делаешь проверку на то что бы (% == 0)
если равно записываешь число(в массив или какт придумаешь), нет - идешь по циклу дальше
проверяешь пока i!=твоему числу (это и нормально цикл намутит и сразу исключит самое число в качестве делителя)
если цикл закончился суммируешь всё что достал и проверяешь равна ли эта сумма твоему числу, если да используешь cout а в нем начальное число если нет идешь ко второму и заново схема
для такой махинации нужен наверно будет еще 1 цикл поверх этого с проверкой на то что твое число не равно конечному в диапазоне/
Надеюсь тебе хотя бы немного.