ความท้าทาย
เขียนฟังก์ชั่นที่รับจำนวนเต็มบวกสองจำนวนnและkเป็นอาร์กิวเมนต์และส่งกลับจำนวนของคนสุดท้ายที่เหลือจากnหลังจากนับคนk -th แต่ละคน
นี่เป็นความท้าทายของนักเล่นกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ
ปัญหา
nคน (หมายเลขจาก1ถึงn ) ยืนเป็นวงกลมและแต่ละk -th นั้นถูกนับจนกระทั่งเหลือคนเดียว (ดูบทความวิกิพีเดียที่เกี่ยวข้อง ) กำหนดจำนวนคนสุดท้ายนี้
เช่นสำหรับk = 3คนสองคนจะถูกข้ามและคนที่สามจะถูกนับออก คือสำหรับn = 7หมายเลขจะถูกนับในลำดับที่ 3 6 2 7 5 1 (ในรายละเอียด1 2 3 4 5 6 7 1 2 4 5 7 1 4 5 1 4 1 4 ) และทำให้คำตอบคือ4
ตัวอย่าง
J(7,1) = 7 // people are counted out in order 1 2 3 4 5 6 [7]
J(7,2) = 7 // people are counted out in order 2 4 6 1 5 3 [7]
J(7,3) = 4 // see above
J(7,11) = 1
J(77,8) = 1
J(123,12) = 21