Решить в С. Максимально примитивным языком.
Нужна программа, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a , b ] , которые делятся на каждую из своих цифр. a b разделены пробелами и в выходных данных тоже пробелы. Также сказано, что a меньше или равно b
Answers & Comments
using namespace std;
bool check(const int &n)
{
bool b = true;
int ch = n;
int de = n % 10;
while (ch > 0 && b) {
if (de == 0) {
b = false;
}
else if (n % de != 0) {
b = false;
} else {
ch /= 10;
de %= 10;
}
}
return b;
}
int main()
{
int a, b, k = 0;
cin >> a >> b;
for (int i = a; i < b; ++i) {
if (check(i)) {
cout << i << " ";
++k;
}
}
if (k == 0) {
cout << "-" << endl;
}
return 0;
}