剑指Offer 孩子们的游戏(圆圈中最后剩下的数)
代码如下,也可采用递归实现。
class Solution {
public:
//约瑟夫问题
//f(n, m) = 0 n=1
// = [f(n-1, m) + m] % n n>1
int LastRemaining_Solution(int n, int m)
{
if(n == 0) return -1;
int s = 0;
for(int i = 2; i <= n; i++)
s = (s + m) % i;
return s;
};
};