รูทดิจิทัล (ผลรวมดิจิตอลซ้ำ) ของจำนวนเต็มบวกคือค่า (หลักเดียว) ที่ได้รับจากกระบวนการวนซ้ำของตัวเลขในแต่ละการวนซ้ำโดยใช้ผลลัพธ์จากการคำนวณซ้ำก่อนหน้านี้เพื่อคำนวณผลรวมหลัก กระบวนการดำเนินการต่อไปจนกว่าจะถึงตัวเลขหลักเดียว
ยกตัวอย่างเช่นรากดิจิตอล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
- คำอธิบายได้รับการสนับสนุน
มันเป็นรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในแต่ละภาษาชนะ! อย่าท้อใจกับโซลูชันอื่น ๆ ในภาษาที่คุณต้องการตีกอล์ฟแม้ว่ามันจะสั้นกว่าสิ่งที่คุณสามารถจัดการได้!