挑战
编写一个函数,该函数将两个正整数n和k作为参数,并在计算出每个第k人后返回n中剩余的最后一个人的人数。
这是一个代码挑战,因此以最短的代码为准。
问题
n个人(从1到n编号)围成一个圈,每个k-数被计数,直到剩下一个人为止(请参阅相应的Wikipedia文章)。确定最后一位的号码。
例如,对于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