Numeri confidenti
Sia xun numero intero di una base arbitraria, tale che Dsia una matrice delle sue cifre. xè un numero confidente se, per tutti ntra 1e la lunghezza di D:
D[n+1] = D[n] + D[n-1] + ... + D[1] + n
Prendiamo, ad esempio, il numero 349in base 10. Se etichettiamo gli indici per questo numero, abbiamo quanto segue.
Index Digit
----- -----
1 3
2 4
3 9
A partire dalla prima cifra, abbiamo 1 + 3 = 4, che produce la cifra successiva. Quindi con la seconda cifra abbiamo 3 + 4 + 2 = 9, che, di nuovo, produce la cifra successiva. Pertanto, questo numero è un numero confidente.
Dato un numero intero con una base compresa tra 1 e 62, calcola tutti i numeri confidenziali per quella base e genera un elenco di essi, separati da nuove righe. Puoi presumere che ci sia una quantità finita di numeri confidenziali per una data base.
Per le cifre superiori a 9, utilizzare i caratteri alfa A-Ze per le cifre superiori Zall'utilizzo dei caratteri alfa a-z. Non dovrai preoccuparti delle cifre oltre z.
Non devono essere emessi in alcun ordine particolare.
Input di esempio:
16
Uscita campione:
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
Questo è il codice golf, quindi vince il codice più corto. In bocca al lupo!
(Grazie a Zach per l'aiuto nella formattazione e per aver segnalato alcuni problemi.)
CDnon è nell'elenco? Dal momento che sono elencate tutte le altre combinazioni in cui la seconda cifra è una in più rispetto alla prima, non capisco perché CDnon si qualifica.