Numéros confidentiels
Soit x
un entier d'une base arbitraire, tel qu'un D
tableau de ses chiffres. x
est un nombre confidentiel si, pour tous n
entre 1
et la longueur de D
:
D[n+1] = D[n] + D[n-1] + ... + D[1] + n
Prenons, par exemple, le nombre 349
en base 10. Si nous étiquetons les indices de ce nombre, nous avons ce qui suit.
Index Digit
----- -----
1 3
2 4
3 9
À partir du premier chiffre, nous avons 1 + 3 = 4
, ce qui donne le chiffre suivant. Ensuite, avec le deuxième chiffre que nous avons 3 + 4 + 2 = 9
, qui, encore une fois, donne le chiffre suivant. Ainsi, ce nombre est un nombre confidentiel.
Étant donné un entier dont la base est comprise entre 1 et 62, calculez tous les nombres confidentiels pour cette base et affichez-en une liste, séparés par des retours à la ligne. Vous pouvez supposer qu'il existe une quantité finie de nombres confidentiels pour une base donnée.
Pour les chiffres supérieurs à 9, utilisez les caractères alpha A-Z
et pour les chiffres supérieurs à, Z
utilisez les caractères alpha a-z
. Vous n'aurez pas à vous soucier des chiffres au-delà z
.
Ils ne doivent pas être sortis dans un ordre particulier.
Exemple d'entrée:
16
Exemple de sortie:
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
C'est le golf de code, donc le code le plus court gagne. Bonne chance!
(Merci à Zach d'avoir aidé au formatage et signalé quelques problèmes.)
CD
ne figure pas dans la liste? Étant donné que toutes les autres combinaisons où le deuxième chiffre est un de plus que le premier chiffre sont répertoriées, je ne comprends pas pourquoi CD
ne se qualifie pas.