เกม Sevens เล่นดังนี้: nผู้เล่นนั่งเป็นวงกลมและเริ่มนับจาก 1 ผ่านไปทางซ้าย (หรือจากผู้เล่นAไปยังผู้เล่นB)
เมื่อถึงตัวเลขpที่7อยู่ในนั้นหรือหารด้วย7แล้วผู้เล่นที่พูดหมายเลขp-1หลังจากผู้เล่นคนถัดไปพูดpต้องพูดp+1และลำดับของผู้ที่พูดตรงกันข้าม ตัวอย่างเช่นถ้าผู้เล่นBพูด6เล่นCพูดว่า7, Bกล่าวว่า8, และเครื่องเล่นกล่าวว่าA9
หมายเหตุ:สำหรับผู้ที่ต้องการเล่นในชีวิตจริงหากคนลืมตัวเลข (หรือในรุ่นที่sevensไม่ได้พูดว่าตั้งใจseven), พวกเขาจะถูกตัดออกจากวงกลม แต่เราจะละเว้นรายละเอียดนี้จากความท้าทายนี้
ความท้าทายคือการพิมพ์ตัวเลขที่ผู้เล่นแต่ละคนควรพูดในเกมที่สมบูรณ์แบบของ Sevens จนถึงอินพุตmสำหรับnผู้เล่นอินพุท
เป็นตัวอย่างที่ห้าคนA, B, C, Dและมีการเล่นจนกว่าพวกเขาจะมาถึงE 30พวกเขาเล่นในลักษณะนี้
A: 1 6 8 13 15 19 23 30
B: 2 7* 12 16 18 24
C: 3 11 17* 25
D: 4 10 21* 26 28*
E: 5 9 14* 20 22 27*29
ที่มีเครื่องหมายsevens *ทราบว่าใน27และ28เรากำลังย้อนกลับสองครั้งและเล่นต่อ "ตามปกติ" จากไปDE
โปรดทราบว่าผลลัพธ์ไม่จำเป็นต้องอยู่ในรูปแบบข้างต้น ฉันพิมพ์มันออกมาเพื่อความชัดเจน
กฎระเบียบ
อินพุตเป็นจำนวนเต็มสองจำนวนในลำดับใด ๆ ที่
mแสดงถึงจำนวนสุดท้ายที่จะพูดnแทนจำนวนผู้เล่นเอาท์พุทสามารถเป็นหลายอาร์เรย์หรือหลายสายหนึ่งสำหรับผู้เล่นแต่ละคน หากคุณใช้สตริงคุณไม่จำเป็นต้องใช้ตัวคั่น (แต่ถ้าคุณสามารถเพิ่มบางส่วนในการทดสอบรหัสของคุณเราจะขอบคุณการอ่าน) หากคุณสามารถพิมพ์พวกมันเป็นวงกลมก็ได้นั่นก็เป็นที่ยอมรับเช่นกันและมันก็ค่อนข้างเท่ห์เช่นกัน
ผลลัพธ์ไม่จำเป็นต้องระบุว่าผู้เล่นคนไหนเป็นใคร (เห็นได้ชัดว่าผู้เล่นคนแรกคือคนที่พูดว่า
1) แม้ว่าจะไม่ได้เรียงเอาท์พุทไม่ว่าด้วยเหตุผลใดก็ตามคุณควรทำให้ผู้เล่นคนไหนพูดด้วยตัวเลข . การละเว้นผู้เล่นที่ไม่ได้พูดอะไรจะได้รับอนุญาตถ้าคุณพูดให้ชัดเจนว่าผู้เล่นคนไหนพูด ฉันจะเพิ่มตัวอย่างเพิ่มเติมของผลลัพธ์ที่เป็นไปได้ด้านล่างนี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงเป็นชัยชนะ
เช่นเคยหากปัญหายังไม่ชัดเจนโปรดแจ้งให้เราทราบ ขอให้โชคดีและการเล่นกอล์ฟที่ดี!
ตัวอย่าง
>>> sevens_string(30, 5, " ")
'1 6 8 13 15 19 23 30'
'2 7 12 16 18 24'
'3 11 17 25'
'4 10 21 26 28'
'5 9 14 20 22 27 29'
>>> sevens_string(42, 5)
'16813151923303539'
'27121618243140'
'31117253241'
'410212628333742'
'591420222729343638'
>>> sevens_array(20, 3)
[1, 4, 7, 10, 13, 15, 19]
[2, 5, 9, 12, 16, 18]
[3, 6, 8, 11, 14, 17, 20]
>>> sevens_array(18, 10)
[1, 13, 15]
[2, 12, 16, 18]
[3, 11, 17]
[4, 10]
[5, 9]
[6, 8]
[7]
[]
[]
[14]

1 2 3 4 1 2 3 2 1 4 3 2 1 4 1คน) ฉันไม่ได้บอกว่ามันดีกว่าหรือแย่กว่าในแง่ของการท้าทายเขา: แค่มันจะมีประโยชน์มากกว่าในโลกแห่งความเป็นจริง