Безумный математик владеет обширной коллекцией чисел, и поэтому оставленное им пространство довольно ограничено. Чтобы сэкономить, он должен сложить целые числа, но, к сожалению, он действительно ленив. Ваша задача, если вы хотите помочь ему, - создать функцию / программу, которая складывает данное положительное целое число для нашего числового маньяка.
Как сложить целое число?
Если он делится равномерно на сумму его цифр, разделите его на сумму его цифр. Если он не удовлетворяет этому требованию, возьмите его остаток, разделив его на сумму цифр. Повторяйте процесс, пока не достигнете результата 1
. Сложенное целое число - это количество операций, которые вам пришлось выполнить. Давайте возьмем пример (скажем 1782
):
Получить сумму цифр:
1 + 7 + 8 + 2 = 18
.1782
равномерно делится на18
, так что следующий номер1782 / 18 = 99
.99
не нацело9 + 9 = 18
, поэтому мы берем остаток:99 % 18 = 9
.9
очевидно делится на9
, поэтому мы делим его и получаем1
.
Результат 3
, потому что 3 операции были необходимы для достижения 1
.
Правила и характеристики
Некоторые целые числа могут иметь сумму цифр
1
, такую как10
или100
. Ваша программа не должна обрабатывать такие случаи. Это означает, что вам будет гарантировано, что целое число, данное в качестве входных данных, не будет иметь сумму цифр, равную1
, и никакая операция с данным целым числом не приведет к числу, чья сумма цифр равна1
(за исключением1
самого себя, которое является " мишень "). Например, вы никогда не получите10
или20
как вход.Входное значение будет положительным целым числом выше, чем
1
.Применяются стандартные лазейки .
Вы можете принимать входные данные и предоставлять выходные данные любым стандартным способом .
Тестовые случаи
Вход -> Выход 2 -> 1 5 -> 1 9 -> 1 18 -> 2 72 -> 2 152790 -> 2 152 -> 3 666 -> 3 777 -> 3 2010 -> 3 898786854 -> 4
Вот программа, которая позволяет вам визуализировать процесс и пробовать больше тестовых случаев.
Это код-гольф , поэтому выигрывает самый короткий код на каждом языке (в байтах)!
8987868546
как допустимый ввод, он сломает ваш тестовый инструмент, а также многие (если не все) ответы ...
898786854
, а не 8987868546
(вы добавили 6
в конце)
8987868546
не равна 1 ( правило 1 выполнено ) и 8987868546
является положительным целым числом, превышающим 1 ( правило 2 выполнено ).