ความท้าทายนี้เป็นเครื่องบรรณาการไปPPCGใช้เดนนิสสำหรับผู้ชนะส่วนโจรของภาษาการเขียนโปรแกรมแบบทดสอบ
ดูที่หน้าโปรไฟล์ PPCG ของ Dennisเราสามารถเห็นสิ่งที่น่าประทับใจ:
ปัจจุบันเขามีชื่อเสียงกว่าหกหมื่นแปดพันคนทำให้เขาเป็นที่สองในภาพรวมโดยมีอันดับที่สามเกือบสามหมื่นคน เมื่อเร็ว ๆ นี้เขาชนะการเลือกตั้งของเราเพื่อเป็นผู้ดำเนินรายการใหม่และได้รับเพชรรูปเงางามใหม่ถัดจากชื่อของเขา แต่ส่วนตัวแล้วฉันคิดว่าส่วนที่น่าสนใจที่สุดเกี่ยวกับ Dennis คือหมายเลขประจำตัวผู้ใช้ PPCG ของเขา: 12012
เมื่อมองดูครั้งแรก12012
เกือบจะดูเหมือนเป็นPalindromeตัวเลขที่อ่านเหมือนกันเมื่อกลับด้าน แต่มันออกเล็กน้อย มันจะกลายเป็น palindrome 21012
ถ้าเราสลับตำแหน่งของแรก1
และ2
และมันจะกลายเป็น palindrome 12021
ถ้าเราสลับสุดท้ายและ1
2
นอกจากนี้การปฏิบัติตามอนุสัญญาที่เลขศูนย์นำหน้าในตัวเลขนั้นไม่ได้ถูกเขียนขึ้นการสลับอันดับแรก1
และ0
ผลลัพธ์ใน02112
หรือมากกว่า2112
ซึ่งเป็นอีกรูปแบบหนึ่ง
ลองกำหนดหมายเลขเดนนิสเป็นจำนวนเต็มบวกที่ไม่ได้เป็นแบบ palindromic แต่สามารถสร้างเป็นแบบ palindrome โดยการสลับตำแหน่งอย่างน้อยหนึ่งคู่ของสองหลักใด ๆ การสั่งซื้อของจำนวนเดนนิสเป็นจำนวนคู่ที่แตกต่างของตัวเลขที่สามารถสลับที่จะทำให้ (ไม่จำเป็นต้องแตกต่างกัน) palindrome
ดังนั้นคำสั่งของ12012
3 ตั้งแต่ 3 คู่ที่แตกต่างของตัวเลขมัน ( 12012
, , ) สามารถสลับไปรอบ ๆ เพื่อผลิต palindromes เกิดขึ้นเป็นคำสั่งที่เล็กที่สุด 3 หมายเลขเดนนิส12012
12012
12012
10
เป็นหมายเลขเดนนิสที่เล็กที่สุดและมีลำดับที่ 1 เนื่องจากการสลับไปมา1
และ0
ให้01
aka 1
ซึ่งเป็น palindrome
เลขศูนย์นำจำนวนจินตภาพของตัวเลขไม่นับเป็นหลักที่เปลี่ยนได้ ยกตัวอย่างเช่นการเปลี่ยนแปลง8908
ไป08908
และการแลกเปลี่ยนตัวเลขสองหลักแรกที่จะได้รับ palindrome 80908
ไม่ถูกต้อง 8908
ไม่ใช่หมายเลขเดนนิส
หมายเลขที่ไม่ใช่เดนนิสอาจถูกกล่าวว่ามีคำสั่ง 0
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในจำนวนเต็มบวก n และพิมพ์หรือส่งกลับจำนวนชับเดนนิสที่เล็กที่สุดพร้อมกับคำสั่งในรูปแบบที่เหมาะสมบางอย่างเช่นหรือ12012 3
(12012, 3)
ตัวอย่างเช่น12012
คือหมายเลขเดนนิสที่ 774 ดังนั้นหาก774
มีการป้อนข้อมูลเข้าสู่โปรแกรมของคุณเอาต์พุตควรมีลักษณะ12012 3
ดังนี้ (อยากรู้อยากเห็น 774 เป็นอีกหมายเลขเดนนิส)
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
นี่คือตัวเลขเดนนิส 20 อันดับแรกและคำสั่งซื้อของพวกเขาสำหรับการอ้างอิง:
N Dennis Order
1 10 1
2 20 1
3 30 1
4 40 1
5 50 1
6 60 1
7 70 1
8 80 1
9 90 1
10 100 1
11 110 2
12 112 1
13 113 1
14 114 1
15 115 1
16 116 1
17 117 1
18 118 1
19 119 1
20 122 1