Доверенные номера
Позвольте x
быть целое число произвольной базы, такой, что D
является массивом его цифр. x
является доверенным числом, если для всех n
между 1
и длиной D
:
D[n+1] = D[n] + D[n-1] + ... + D[1] + n
Возьмем, например, число 349
в базе 10. Если мы помечаем индексы для этого числа, мы имеем следующее.
Index Digit
----- -----
1 3
2 4
3 9
Начиная с первой цифры, мы 1 + 3 = 4
получаем следующую цифру. Затем со второй цифрой у нас 3 + 4 + 2 = 9
, что, опять же, возвращает следующую цифру. Таким образом, этот номер является доверенным числом.
Получив целое число с базой от 1 до 62, вычислите все числа доверенных лиц для этой базы и выведите список из них, разделенных символами новой строки. Вы можете предположить, что для данной базы существует определенное количество номеров доверенных лиц.
Для цифр больше 9 используйте буквы альфа A-Z
, а для цифр больше букв Z
альфа a-z
. Вам не придется беспокоиться о цифрах за пределами z
.
Они не должны выводиться в каком-либо конкретном порядке.
Пример ввода:
16
Пример вывода:
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
12
23
34
45
56
67
78
89
9A
AB
BC
CD
DE
EF
125
237
349
45B
56D
67F
125B
237F
Это код гольф, поэтому выигрывает самый короткий код. Удачи!
(Спасибо Заку за помощь в форматировании и за несколько проблем.)
CD
нет в списке? Поскольку в списке перечислены все другие комбинации, в которых вторая цифра на одну единицу больше первой, я не понимаю, почему CD
это не так.