数 3 游戏 2

2018-07-13  本文已影响0人  Ridiculous_one

题目

有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来的几号。

解答

public class WinnerGame {
    public static void main(String []args) {    
        WinnerGame wg = new WinnerGame();
        System.out.println( wg.getWinner(758) );
    }

    public int getWinner(int n) {
      int M = 3;
      int s = 0;
      for (int i = 2; i <= n; ++i)
        s = (s+M)%i;
      return s+1;
    }
}
上一篇下一篇

猜你喜欢

热点阅读