ลองพิจารณาจำนวนเต็มที่ไม่เป็นลบเช่น 8675309 และคำนวณค่าสัมบูรณ์ของความแตกต่างระหว่างคู่หลักทั้งหมดที่อยู่ใกล้เคียง
สำหรับการ8675309
ที่เราได้รับ|8-6| = 2
, |6-7| = 1
, |7-5| = 2
, |5-3| = 2
, ,|3-0| = 3
คบผลลัพธ์เหล่านี้เข้าด้วยกันอัตราผลตอบแทนอื่นจำนวนเต็มไม่ใช่เชิงลบที่มีขนาดเล็ก:|0-9| = 9
212239
ทำซ้ำกระบวนการให้11016
แล้ว0115
ซึ่งโดยการประชุมที่ศูนย์นำไม่เขียนลดความซับซ้อนเป็น115
ซึ่งจะกลายเป็น04
หรือ4
ซึ่งไม่สามารถลดได้อีกต่อไป 8675309 + 212239 + 11016 + 115 + 4 = 8898683
ข้อสรุปค่าทั้งหมดเหล่านี้ที่เราได้รับ
ลองกำหนด Digit Difference Sum (หรือ DDS) เป็นการดำเนินการของการรับความแตกต่างของตัวเลขเพื่อสร้างตัวเลขใหม่จากนั้นเพิ่มตัวเลขผลลัพธ์ทั้งหมดลงในต้นฉบับ
นี่คือ 20 ค่าแรกในลำดับ 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
นี่คือ 10,000 ค่าแรกกราฟที่ค่อนข้างอยากรู้:
โดยเฉพาะอย่างยิ่งเนื่องจากมันดูเหมือนกันเมื่อคุณพล็อตเป็น 1,000 หรือ 100
(ฉันเรียกมันว่าบันไดของทันตแพทย์... )
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็มแบบไม่ลบและพิมพ์หรือส่งคืนค่า DDS ตัวอย่างเช่นถ้าใส่เป็นผลผลิตที่ควรจะเป็น8675309
8898683
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ