public class Solution {
  // 方式一:递归
  public int LastRemaining_Solution(int n, int m) {
        return (n == 1) ? 0 : (LastRemaining_Solution(n - 1, m) + m) % n;
    }
  // 方式二:非递归
  public int LastRemaining_Solution2(int n, int m) {
        int res = 0;
        for (int i = 2; i <=n; i++) {
            res = (res+m)%i;
        }
        return 0;
    }
}

解题思想:约瑟夫环问题,公式:f(n,m)=(f(n-1,m)+m)%n