ฉันคิดว่าคนส่วนใหญ่ที่นี่รู้ว่าการแสดงผล 7 หลักสำหรับตัวเลขคืออะไร:
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
เราสามารถกำหนดความแตกต่าง 7 เซกเมนต์ (7SD) ระหว่างสองหลักเป็นจำนวนของเซกเมนต์ที่ต้องสลับเพื่อสลับจากหนึ่งไปยังอีก เช่น 7SD ระหว่าง1
และ2
เป็น5 (สามส่วนแนวนอนและต่ำกว่าสองส่วนในแนวตั้งจะต้องมีการสลับ) และ 7SD ระหว่าง 6 และ 8 เป็น1
นอกจากนี้เราสามารถกำหนด 7SD ระหว่างตัวเลขสองตัวเพื่อเป็นผลรวมของ 7SD ระหว่างตัวเลขที่เกี่ยวข้อง หากตัวเลขหนึ่งยาวกว่าตัวเลขอื่นเราถือว่าพวกเขาอยู่ในแนวเดียวกันและเพิ่มจำนวนของกลุ่มที่จำเป็นในการแสดงตัวเลขที่สำคัญที่สุดเพิ่มเติมของจำนวนที่มากขึ้น ยกตัวอย่างเช่นพิจารณา 7SD ระหว่าง12345
และ549
:
x: 1 2 3 4 5
y: 5 4 9
7SD: 2+5+2+0+1 = 10
งานของคุณคือการคำนวณ 7SD ระหว่างnและ1 + nให้ n
เพื่อความสะดวกนี่คือตารางเต็มของ 7SD ระหว่างตัวเลขแต่ละตัว แถว_
หมายถึงตำแหน่งที่ว่างเปล่า
_ 0 1 2 3 4 5 6 7 8 9
_ 0 6 2 5 5 4 5 6 3 7 6
0 6 0 4 3 3 4 3 2 3 1 2
1 2 4 0 5 3 2 5 6 1 5 4
2 5 3 5 0 2 5 4 3 4 2 3
3 5 3 3 2 0 3 2 3 2 2 1
4 4 4 2 5 3 0 3 4 3 3 2
5 5 3 5 4 2 3 0 1 4 2 1
6 6 2 6 3 3 4 1 0 5 1 2
7 3 3 1 4 2 3 4 5 0 4 3
8 7 1 5 2 2 3 2 1 4 0 1
9 6 2 4 3 1 2 1 2 3 1 0
อินพุต
n
การป้อนข้อมูลเป็นจำนวนเต็มบวกเดียว- คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นรับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชัน
- คุณอาจสันนิษฐานว่าการป้อนข้อมูลมีค่าน้อยกว่าหนึ่งจำนวนมากที่สุดซึ่งสามารถแสดงด้วยจำนวนเต็มมาตรฐานของภาษาของคุณตราบเท่าที่ประเภทนั้นรองรับอย่างน้อยค่าสูงสุดและรวมถึง 127
เอาท์พุต
- คุณควรพิมพ์จำนวนเต็มเดียว 7SD ระหว่างและ
n
n+1
- คุณสามารถส่งออกผ่านทาง STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรืออาร์กิวเมนต์ของฟังก์ชัน (ออก)
เกณฑ์การให้คะแนน
ใช้กฎของรหัส - กอล์ฟมาตรฐานรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ
กรณีทดสอบ
ด้วยเหตุปิดบังบางลำดับนี้ไม่ได้อยู่ใน OEIS เลยถึงแม้จะมีลำดับที่เกี่ยวข้องอย่างใกล้ชิดA123587 นี่คือตัวเลข 100 ตัวแรก (เริ่มต้นด้วยn = 1, 2, 3, ...
):
5, 2, 3, 3, 1, 5, 4, 1, 4, 4, 5, 2, 3, 3, 1, 5, 4, 1, 7, 4, 5, 2, 3, 3, 1,
5, 4, 1, 4, 4, 5, 2, 3, 3, 1, 5, 4, 1, 5, 4, 5, 2, 3, 3, 1, 5, 4, 1, 5, 4,
5, 2, 3, 3, 1, 5, 4, 1, 3, 4, 5, 2, 3, 3, 1, 5, 4, 1, 7, 4, 5, 2, 3, 3, 1,
5, 4, 1, 6, 4, 5, 2, 3, 3, 1, 5, 4, 1, 3, 4, 5, 2, 3, 3, 1, 5, 4, 1, 6, 4
อินพุตแรกที่ 7SD มากกว่า 9 1999
ควรให้ผลลัพธ์ 11 นี่คือตัวอย่างที่มีขนาดใหญ่กว่าอื่น ๆ :
n 7SD
1999 11
12345 1
999999 14
5699999 15
8765210248 1