Предмет: Информатика, автор: Noorа

C++ Напишите программу, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр.
Входные данные
Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b .
Выходные данные
Программа должна вывести в одну строчку все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр. Числа разделяются пробелами.
Примеры
Входные данные
10 20
Выходные данные
11 12 15

Ответы

Автор ответа: igorShap
1

#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;

}

Приложения:

igorShap: Tab'ы не сохраняются временно в редакторе, поэтому прикрепил .cpp файл
Похожие вопросы
Предмет: Математика, автор: kristinkapetrykina
Предмет: Литература, автор: маринаанатольевна