ด้วยจำนวนเต็มบวกn
ให้ออกแบบไม้โปรแทรกเตอร์ด้วยจำนวนเครื่องหมายที่น้อยที่สุดที่ให้คุณวัดมุมทั้งหมดที่เป็นผลคูณรวมของ2π/n
(แต่ละอันในการวัดเดี่ยว)
รายละเอียด
ในฐานะที่เป็นเอาท์พุทคุณสามารถส่งออกรายการจำนวนเต็มในช่วง0
ถึงn-1
(หรือ1
ถึงn
) ที่แสดงถึงตำแหน่งของแต่ละเครื่องหมาย อีกทางหนึ่งคุณสามารถส่งออกสตริง / รายการความยาวn
ด้วย#
ที่ตำแหน่งของเครื่องหมายแต่ละอันและ_
(ขีดล่าง) โดยที่ไม่มี (หรือตัวละครทั้งสองแตกต่างกันถ้าสะดวกเพิ่มเติม.)
ตัวอย่าง:สำหรับn = 5
คุณจำเป็นต้องตรง 3 เครื่องหมายเพื่อให้สามารถวัดมุมทั้งหมด2π/5, 4π/5, 6π/5, 8π/5, 2π
โดยการตั้งค่า (ตัวอย่าง) หนึ่งเครื่องหมายที่0
หนึ่งที่เครื่องหมายและเครื่องหมายที่2π/5
6π/5
เราสามารถเข้ารหัสนี้เป็นรายการหรือเป็นสตริง[0,1,3]
##_#_
ตัวอย่าง
โปรดทราบว่าผลลัพธ์ไม่จำเป็นต้องซ้ำกัน
n: output:
1 [0]
2 [0,1]
3 [0,1]
4 [0,1,2]
5 [0,1,2]
6 [0,1,3]
7 [0,1,3]
8 [0,1,2,4]
9 [0,1,3,4]
10 [0,1,3,6]
11 [0,1,3,8]
20 [0,1,2,3,6,10]
ป.ล. : มันคล้ายกับปัญหาไม้บรรทัดกระจัดกระจายแต่แทนที่จะเป็นสเกลเชิงเส้น (ที่ปลายทั้งสอง) เราจะพิจารณาสเกลวงกลม (เชิงมุม)
PPS: สคริปต์นี้ควรคำนวณตัวอย่างหนึ่งชุดของเครื่องหมายแต่ละn
อัน ลองออนไลน์!
PPPS: ตามที่ @ngn ชี้ให้เห็นปัญหานี้เทียบเท่ากับการค้นหาฐานที่ต่างกันเล็กน้อยของกลุ่มคำสั่งn
วงจร คำสั่งซื้อขั้นต่ำน้อยที่สุดมีการระบุไว้ในhttp://oeis.org/A283297และมีขอบเขตทางทฤษฎีอยู่ในhttps://arxiv.org/pdf/1702.02631.pdf