Các thách thức
Viết hàm lấy hai số nguyên dương n và k làm đối số và trả về số người cuối cùng còn lại sau n sau khi tính ra mỗi người thứ k .
Đây là một thử thách chơi gôn, vì vậy mã ngắn nhất sẽ thắng.
Vấn đề
n người (được đánh số từ 1 đến n ) đang đứng trong một vòng tròn và mỗi k -th được tính cho đến khi một người còn lại (xem bài viết wikipedia tương ứng ). Xác định số của người cuối cùng này.
Ví dụ: k = 3 hai người sẽ bị bỏ qua và người thứ ba sẽ bị loại. Tức là với n = 7, các số sẽ được tính theo thứ tự 3 6 2 7 5 1 (chi tiết 1 2 3 4 5 6 7 1 2 4 5 7 1 4 5 1 4 1 4 ) và do đó câu trả lời là 4 .
Ví dụ
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