Репдигиты это натуральное число , которое можно записать только повторяя ту же цифру. Например, 777
это 7
повторная цифра, поскольку она состоит исключительно из цифры, повторенной три раза.
Однако это не ограничивается просто десятичными (базовыми 10) числами:
- Каждое число Мерсенна (в форме M n = 2 n -1 ) является повторным, если оно записано в двоичном виде (база 2).
- Каждое число является тривиальным, если оно написано в унарном формате (база 1).
- Каждое число
n
также может быть тривиально записано как повторная цифра11
в базеn-1
(например,17
когда записано в шестнадцатеричном (основание 16)11
, и3
когда записано в двоичном (основание 2 также11
)).
Задача здесь состоит в том, чтобы найти другие базы, где введенный номер может быть повторным.
вход
Целое положительное число 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
(встроенные базовые функции преобразования многих языков не идут выше)?