Божевільний математик володіє широкою колекцією чисел, а тому місце, яке йому залишилося, досить обмежене. Щоб зберегти деякі, він повинен скласти цілі числа, але, на жаль, він справді лінивий. Ваше завдання, якщо ви хочете допомогти йому, - створити функцію / програму, яка складе задане ціле число для нашого маніяка чисел.
Як скласти ціле число?
Якщо вона рівномірно ділиться на суму її цифр, розділіть її на суму її цифр. Якщо вона не відповідає цій вимозі, залиште її решту, поділену на суму її цифр. Повторюйте процес, поки результат не досягне 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 мет ).