Предмет: Информатика,
автор: AnnaPankova2002
Язык желательно си, но можно любой. В целях улучшения математических навыков Незнайки, Знайка
предложил ему сыграть в игру. Знайка называет натуральное число, а
Незнайка должен найти минимальное число, большее данного, такое что
оно делиться на произведение своих цифр без остатка.
Например, если Знайка загадал число 210, то Незнайка должен дать
ответ 212, так как произведение цифр этого числа равно 2*1*2 = 4, 212
делится на 4 без остатка и это ближайшее число, большее загаданного.
(Число 211 не подходит, так как произведение цифр этого числа равно
2*1*1 = 2, а 211 не делится на 2 без остатка).
Формат ввода
На вход подаётся натуральное число n – число загаданное Знайкой
(1 ≤ n ≤ 1000).
Формат вывода
Вывести на экран одно число – ответ Незнайки.
Примеры
input output
210 212
Ответы
Автор ответа:
0
Код программы:
#include <stdio.h>
int main()
{
int n, a, a1,aa, p;
printf("Введите число: ");
scanf("%d", &n);
a = ++n;
aa = a;
while(1){
a = aa;
p = 1;
while(a){
a1 = a % 10;
p *= a1;
a = a / 10;
}
if (aa % p == 0){
printf("Ответ: %d\n", aa);
break;
}
++aa;
}
return 0;
}
Похожие вопросы
Предмет: Алгебра,
автор: alaaaaaaa
Предмет: Математика,
автор: polinashah10
Предмет: Литература,
автор: 111222333ggg13
Предмет: Физика,
автор: bear19
Предмет: Химия,
автор: Dipple