黑马程序员技术交流社区

标题: 约瑟夫问题源码实现 [打印本页]

作者: 经济    时间: 2015-6-8 23:09
标题: 约瑟夫问题源码实现
此题以100人为例,每次数到的第14个人出列:
public class Test {
public static void main(String[] args) {
  // 定义数组
  int[] array = new int[100];
  // 给数组赋值
  for (int i = 0; i < 100; i++) {
   array = 1;
  }
  // 声明变量,接收数组长度
  int len = array.length;
  // 声明计数器
  int count = 0;
  // 循环每次去除第十四个人
  while (len > 1) {
   for (int i = 0; i < array.length; i++) {
    if (array == 1) {
     count++;
     if (count == 14) {
      array = 0;
      count = 0;
      len--;
     }
    }
   }
  }
  // 输出剩余的人
  outResult(array);
}
private static void outResult(int[] array) {
  for (int i = 0; i < array.length; i++) {
   if (array == 1) {
    System.out.print("最后剩下100人中的第 " + (i + 1) + " 人");
   }
  }
}
}

说明:此题也为本人入学考试的其中一道,感觉很多好,就把源码粘上与大家一起分享,还望大家积极点评,





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