Prendi in considerazione di prendere un numero intero non negativo come 8675309 e calcolare i valori assoluti delle differenze tra tutte le coppie di cifre vicine.
Per 8675309otteniamo |8-6| = 2, |6-7| = 1, |7-5| = 2, |5-3| = 2, |3-0| = 3, |0-9| = 9. Stringing questi risultati insieme produce un altro, più piccolo numero intero non negativo: 212239. Ripetendo il processo si ottiene 11016, quindi 0115, che per convenzione che gli zeri iniziali non vengono scritti semplifica come 115, che diventa 04o 4, che non può essere ulteriormente ridotto. Sommando tutti questi valori otteniamo 8675309 + 212239 + 11016 + 115 + 4 = 8898683.
Definiamo la somma delle differenze delle cifre (o DDS) come questa operazione di prendere ripetutamente le differenze delle cifre di un numero per formare un nuovo numero, quindi aggiungere tutti i numeri risultanti all'originale.
Ecco i primi 20 valori nella corrispondente sequenza DDS:
N DDS(N)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 11
11 11
12 13
13 15
14 17
15 19
16 21
17 23
18 25
19 27
Ecco i primi 10000 valori , il cui grafico è abbastanza curioso:
Soprattutto dal momento che sembra lo stesso quando lo si stampa su 1000 o anche su 100:
(Lo definirei la scala del dentista ...)
Sfida
Scrivi un programma o una funzione che accetta un numero intero non negativo e stampa o restituisce il suo valore DDS. Ad esempio, se l'input fosse 8675309, l'output dovrebbe essere 8898683.
Vince il codice più breve in byte.









