Довірені номери
Нехай 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
це не відповідає.