1823. 找出游戏的获胜者
class Solution
{
public:
int findTheWinner(int n, int k)
{
int ans = 0;
for (int i = 2; i <= n; ++i)
{
ans = (ans + k) % i;
}
return ans + 1;
}
};
每次报数到第 k 个人出圈后,剩下的人的编号会向前移动 1 个位置,而因为是循环的,所以要对人数取模。
这是数学法。