Вхід:
Позитивне ціле число n, що складається з цифр у діапазоні 0-9 .
Виклик:
Якщо d є найвищою цифрою в цілому числу, припустимо, основою числа є d + 1 . Наприклад, якщо ціле число дорівнює 1256, то слід припустити, що воно знаходиться в базі-7 , якщо це 10110, тоді ви вважаєте, що це основа-2 (двійкове), а якщо це 159, то це десятковий.
Тепер виконайте наступне, поки ви не: 1: досягнете базового цілого числа або 2: не досягнете одноцифрового цілого числа.
- Перетворимо ціле число з бази- (d + 1) в основу-10
- Знайдіть базу цього нового цілого числа (знову ж таки, base- (d + 1), де d - найбільша цифра в новому числі)
- Перейдіть до першого кроку .
Приклади:
Припустимо, вхід n = 413574 . Найвища цифра d = 7 , тому це основа-8 (вісімка). Перетворіть це в десятковий і отримайте 137084 . Найвища цифра d = 8 , тому це база-9 . Перетворіть це в десятковий і отримайте 83911 . Найвища цифра - 9 , тому це десятковий номер і ми зупиняємось. Вихід повинен бути 83911 .
Припустимо, вхід n = 13552 . Найвища цифра d = 5 , тому це база-6 . Перетворіть це в десятковий і отримайте 2156 . Найвища цифра d = 6 , тому це база-7 . Перетворіть це в десятковий і отримайте 776 . Найвища цифра d = 7 , тому це база-8 . Перетворіть це в десятковий і отримайте 510 . Найвища цифра d = 5, тому це основа-6 . Перетворіть це в десятковий і отримайте 186 . Найвища цифра - 8 , тому це база-9 . Перетворіть це в десятковий і отримайте 159. Найвища цифра - 9 , тому це десятковий номер і ми зупиняємось. Вихід повинен бути 159 .
Припустимо, вхід n = 17 . Це дасть нам 15 , потім 11 , потім 3 , які ми виведемо, оскільки це одна цифра.
Тестові приклади:
5
5
17
3
999
999
87654321 (base-9 -> 42374116 in decimal -> base-7 -> 90419978 in decimal)
9041998
41253 (5505 -> 1265 -> 488 -> 404 -> 104 -> 29)
29
Примітки:
- Стандартні правила щодо вводу / виводу, лазівки тощо. Ви можете вводити введення як рядок
- Пояснення заохочуються
- Ви можете використовувати вбудовані команди базового перетворення
- Вітаються рішення, які не використовують вбудовані функції мови в базовій конверсії (якщо вони існують), навіть якщо вони виявляються набагато довшими, ніж очевидний підхід із використанням вбудованих функцій.
Мабуть, це OEIS A091047 .