Pertimbangkan mengambil bilangan bulat non-negatif seperti 8675309 dan menghitung nilai absolut dari perbedaan antara semua pasangan angka tetangga.
Untuk 8675309kita |8-6| = 2, |6-7| = 1, |7-5| = 2, |5-3| = 2, |3-0| = 3, |0-9| = 9. Merangkai hasil ini bersama-sama menghasilkan, integer lain yang lebih kecil non-negatif: 212239. Mengulangi proses memberi 11016, kemudian 0115, yang oleh konvensi bahwa nol depan tidak ditulis menyederhanakan 115, menjadi 04atau 4yang tidak dapat direduksi lebih jauh. Dengan merangkum semua nilai ini, kita dapatkan 8675309 + 212239 + 11016 + 115 + 4 = 8898683.
Mari kita definisikan Digit Difference Sum (atau DDS) sebagai operasi berulang-ulang mengambil perbedaan digit angka untuk membentuk angka baru, lalu menambahkan semua angka yang dihasilkan ke aslinya.
Berikut adalah 20 nilai pertama dalam urutan DDS yang sesuai:
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
Berikut adalah nilai 10000 pertama , grafik yang cukup aneh:
Terutama karena tampilannya sama ketika Anda merencanakannya menjadi 1000 atau bahkan 100:
(Saya akan menyebutnya tangga dokter gigi ...)
Tantangan
Tulis program atau fungsi yang menggunakan bilangan bulat non-negatif dan mencetak atau mengembalikan nilai DDS-nya. Misalnya, jika inputnya adalah 8675309, output seharusnya 8898683.
Kode terpendek dalam byte menang.









