数 3 游戏 2

题目

有 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;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 3,316评论 0 19
  • 题目 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后...
    Ridiculous_one阅读 1,534评论 0 0
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,170评论 0 41
  • 我不是资深影迷,对于《夏洛特烦恼》这部电影的电影手法等等没有任何发言权。我想说的,是这部电影所传递的价值观。 《夏...
    陆余北阅读 324评论 0 4
  • 文/张瑜 世界的缥缈似乎只有在自己经历之后才会淋漓尽致的懂得那份繁华从不在自己的脚下,就这样望穿了百年孤独,却无法...
    小儒撒阿阅读 359评论 0 0