Вообще, если не стоит задача найти наименьшее
, то можно использовать алгоритм, хотя он такой... эмпирический, вроде годится для всех
, кроме "очевидных" исключений.
Возьмем для примера число не очень большое,
. Если взять перебором, то уже в пределах первой тысячи найдутся
. А мне лень, буду искать
сумма цифр числа
равна девяти. И оно делится на
. Но тогда оно делится на
. Но сумма цифр уже та, которая нужна. Значит
- годится.
Посложнее?
(наименьшее значение здесь
, первое восьмизначное в списке наименьших
)
Пишем
, и
делится как на
, так и на
, то есть
, а сумма цифр равна
. Можно либо "выделить" еще раз
, или наудачу рассмотреть
. Успех уже при пяти единицах, число
делится на
, и сумма цифр - тоже
.
Вышеописанное "выделение" срабатывает для, например,
: нам нужно собрать число, делящееся на
и суммой цифр
. Таким образом, годится
.
Но алгоритм хромает, если
содержит нули. Тогда начинать надо с числа, кратного
и без нулей, и такого, чтобы логика для следующего шага сохранялась. Например, для
наберем сумму цифр "первого блока" не
, а
, взяв
. Теперь останется поискать число
, которое делится на
, с суммой цифр
. Лучше сразу записать
в начале, тогда сумма должна быть
. Приходится угадывать, выбирая наобум числа вида
, тут мне повезло:
.