黑马程序员技术交流社区

标题: 看到有人说约瑟夫算法,我把我朋友的代码戳出来交流下 [打印本页]

作者: 曾宇    时间: 2015-4-19 18:44
标题: 看到有人说约瑟夫算法,我把我朋友的代码戳出来交流下
有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?

  1. class  Kill
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int iCount=0;
  6.                 int Count =14;
  7.                 for (int i = 1;i<=100 ;i++ )
  8.                 {
  9.                         //iCount+=Count;
  10.                         iCount=iCount+Count;
  11.                         iCount=iCount%i;
  12.                 }
  13.                 System.out.println(iCount+1);
  14.         }
  15. }
复制代码
一种被智商压制的感觉。:#




作者: fantacyleo    时间: 2015-4-19 19:03
  1. public int josephusRing(int n, int m) {
  2.     int k = 1;
  3.     for (int i = 2; i <= n; i++) {
  4.         k = (k + m % i) > i ? (k + m % i) % i : k + m % i;
  5.     }
  6.    return k;
  7. }
  8. }
复制代码

作者: duzhi409    时间: 2015-4-19 19:12
厉害啊,学习
作者: 曾宇    时间: 2015-4-19 19:37
fantacyleo 发表于 2015-4-19 19:03

能否讲下思路步骤
作者: fantacyleo    时间: 2015-4-19 19:41
曾宇 发表于 2015-4-19 19:37
能否讲下思路步骤

http://bbs.itheima.com/thread-144249-1-1.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2