C++ Напишите программу, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр.
Входные данные
Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b .
Выходные данные
Программа должна вывести в одну строчку все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр. Числа разделяются пробелами.
Примеры
Входные данные
10 20
Выходные данные
11 12 15
Answers & Comments
Verified answer
#include <iostream>
using namespace std;
int a, b, numb;
bool init;
int main()
{
do {
cout << "Input a b: ";
cin >> a >> b;
if ((a > b) || (a <= 0) || (b <= 0))
cout << "Input error! Try again" << endl;
} while ((a > b) || (a <= 0) || (b <= 0));
for (int i = a; i <= b; i++) {
init = true;
numb = i;
do {
if (numb % 10 == 0)
init = false;
else if ((i / (numb % 10) * (numb % 10)) != i)
init = false;
numb /= 10;
} while (numb != 0);
if (init == true)
cout << i << " ";
}
return 0;
}