A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有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. }
复制代码
一种被智商压制的感觉。:#



4 个回复

正序浏览
回复 使用道具 举报

能否讲下思路步骤
回复 使用道具 举报
厉害啊,学习
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马