รูทดิจิทัล (ผลรวมดิจิตอลซ้ำ) ของจำนวนเต็มบวกคือค่า (หลักเดียว) ที่ได้รับจากกระบวนการวนซ้ำของตัวเลขในแต่ละการวนซ้ำโดยใช้ผลลัพธ์จากการคำนวณซ้ำก่อนหน้านี้เพื่อคำนวณผลรวมหลัก กระบวนการดำเนินการต่อไปจนกว่าจะถึงตัวเลขหลักเดียว
ยกตัวอย่างเช่นรากดิจิตอล65536เป็น7เพราะ6 + 5 + 5 + 3 + 6 = 25และ2 + 5 = 7
การเรียงลำดับรากดิจิตอลทั้งหมดไม่สมเหตุสมผลเนื่องจากมันจะเริ่มต้นด้วย1วินาทีมากมาย
แต่เราจะสร้างรายการของจำนวนเต็มหลักเดียวพร้อมกับรูทดิจิทัลของพวกเขาจากนั้นก็เป็นตัวเลขสองหลักทั้งหมดพร้อมกับรูทดิจิทัลของพวกเขาจากนั้นจะเป็นสามเท่าสี่เท่าและอื่น ๆ
ตอนนี้สำหรับแต่ละรายการเราจะจัดเรียงเพื่อให้จำนวนเต็มทั้งหมดที่มีรากดิจิตอล1ปรากฏก่อนจากนั้นจำนวนเต็มทั้งหมดที่มีรากดิจิตอล2และต่อไป การเรียงลำดับจะมีความเสถียรดังนั้นรายการจำนวนเต็มที่มีรากดิจิตอลที่แน่นอนควรอยู่ในลำดับจากน้อยไปหามากหลังจากการเรียงลำดับ
ในที่สุดเราจะต่อเรียงรายการเหล่านี้เป็นลำดับเดียว ลำดับนี้จะเริ่มต้นด้วยตัวเลขหลักเดียวทั้งหมดแล้วตัวเลขสองหลักทั้งหมด (เรียงตามรากดิจิตอลของพวกเขา) จากนั้นตัวเลขสามหลักและอื่น ๆ
ท้าทาย:
รับจำนวนเต็มบวกnเป็นอินพุตและส่งออกตัวเลขn 'ตามลำดับที่อธิบายไว้ข้างต้น คุณสามารถเลือกได้ว่าจะทำรายการ0 -indexed จาก1 -exexed
ลำดับจะเป็นดังนี้:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 28, 37, 46, 55, 64, 73, 82, 91, 11, 20, 29 ... 
72, 81, 90, 99, 100, 109, 118, ... 
981, 990, 999, 1000, 1009, 1018, 1027, ...
กรณีทดสอบ:
กรณีทดสอบมีการจัดทำดัชนี 1
   n   f(n)  
   9      9
  10     10
  11     19
  40     13
  41     22
  42     31
  43     40
  44     49
  45     58
 600    105
 601    114
 602    123
 603    132
 604    141
 605    150
4050   1453
4051   1462
4052   1471
4053   1480
4054   1489
4055   1498
ง่ายต่อการคัดลอก:
n =    9, 10, 11, 40, 41, 42, 43, 44, 45, 600, 601, 602, 603, 604, 605, 4050, 4051, 4052, 4053, 4054, 4055, 
f(n) = 9, 10, 19, 13, 22, 31, 40, 49, 58, 105, 114, 123, 132, 141, 150, 1453, 1462, 1471, 1480, 1489, 1498
ชี้แจง:
- คุณไม่สามารถส่งออกองค์ประกอบแรกทั้งหมดn คุณจะต้องส่งออกเพียงn 'TH
- รหัสต้องในทางทฤษฎีการทำงานสำหรับจำนวนเต็มทั้งหมดถึง10 ^ 9แต่ก็ ok ถ้ามันออกมาในครั้ง TIO (หรือล่ามอื่น ๆ ที่มีข้อ จำกัด เวลา) สำหรับปัจจัยการผลิตที่มีขนาดใหญ่กว่า999
- คำอธิบายได้รับการสนับสนุน
มันเป็นรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในแต่ละภาษาชนะ! อย่าท้อใจกับโซลูชันอื่น ๆ ในภาษาที่คุณต้องการตีกอล์ฟแม้ว่ามันจะสั้นกว่าสิ่งที่คุณสามารถจัดการได้!