Репдігіти це натуральне число , яке можна записати тільки повторюючи ту ж цифру. Наприклад, 777
є репдигітом, оскільки складається виключно з цифри, 7
повтореної три рази.
Однак це не обмежується лише десятковими (базовими 10) числами:
- Кожне число Мерсена (виду M n = 2 n -1 ) є повторним знаком при написанні у двійковій формі (основа 2).
- Кожне число є тривіальним відспівом, коли воно пишеться уніарно (база 1).
- Кожне число
n
також може тривіально записуватися як повторний знак11
у базіn-1
(наприклад,17
коли він пишеться шістнадцятковим (основа 16)11
, а також,3
коли пишеться у двійковій (також база 211
).
Завдання тут полягає в тому, щоб знайти інші бази, де число введення може бути повторним знаком.
Вхідні дані
Позитивне ціле число x > 3
в будь-якому зручному форматі.
Вихідні дані
Позитивне ціле число b
з , (x-1) > b > 1
де поданням x
в базі b
є репдігітамі.
- Якщо такого не
b
існує, виведіть0
або якесь значення фальси . - Якщо таких
b
існує декілька , ви можете вивести будь-які або всі з них.
Правила
(x-1) > b > 1
Обмеження , щоб запобігти тривіальні перетворення в Унарний або «вичитати одну» базу. Вихідна число може бути записано в одинарної або будь-якому зручному базі, але сама база не повинна бути однією з тривіальних перетворень.- Введення / виведення можна за допомогою будь-якого відповідного способу .
- Застосовуються стандартні обмеження лазівки .
Приклади
In --> Out
11 --> 0 (or other falsey value)
23 --> 0 (or other falsey value)
55 --> 10 (since 55 is 55 in base 10)
90 --> 14 (since 90 is 66 in base 14 ... 17, 29, 44 also allowed)
91 --> 9 (since 91 is 111 in base 9 ... 12 also allowed)
b ≤ 36
сильно обмежує сферу цієї проблеми, і всі існуючі відповіді правильно обробляють більші основи, тому я хочу сказати «ні», ви не можете вважати верхню межу b
поза межами того, що задано.
b ≤ 36
(багато вбудованих функцій перетворення базової мови не виходять вище)?