【java算法】约瑟夫问题求解
来源:互联网 发布:usb摄像头拍照软件 编辑:程序博客网 时间:2024/05/28 17:07
解法一,用Liat来实现
<span style="font-family: Arial, Helvetica, sans-serif;"></pre><pre name="code" class="java">import java.util.ArrayList; </span>import java.util.List; import java.util.Scanner; public class Yue { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入总人数:"); int totalNum = scanner.nextInt(); System.out.print("请输入报数的大小:"); int cycleNum = scanner.nextInt(); System.out.println("请输入从第几个人开始报数:"); int startNum = scanner.nextInt(); yuesefu(totalNum, cycleNum,startNum); } public static void yuesefu(int totalNum, int countNum,int startNum) { // 初始化人数 List<Integer> start = new ArrayList<Integer>(); for (int i = 1; i <= totalNum; i++) { start.add(i); } //k为第一次开始时的下标 int k = startNum-1; while (start.size() >0) { k = k + countNum; //第k位人 //第k人的索引位置 k = k % (start.size()) - 1; // 判断是否到队尾 if (k < 0) { System.out.println(start.get(start.size()-1)); start.remove(start.size() - 1); k = 0; } else { System.out.println(start.get(k)); start.remove(k); } } } }
0 0
- 【java算法】约瑟夫问题求解
- 约瑟夫问题java求解
- 算法题-约瑟夫(Joseph)问题求解
- 约瑟夫问题JAVA算法
- 约瑟夫环问题求解(Java代码)
- Joseph问题求解。(用java求解约瑟夫问题)
- 求解约瑟夫环问题
- 约瑟夫问题求解(C++)
- 约瑟夫问题的求解
- 约瑟夫问题求解
- 约瑟夫问题求解
- 约瑟夫问题求解
- 约瑟夫问题求解
- 约瑟夫问题C++求解
- 约瑟夫问题求解
- 约瑟夫问题求解
- 约瑟夫问题简单求解
- 约瑟夫环问题求解
- 一种用于解决银行代理产品交易热点账户的系统及方法
- GitHub: 终端上传项目
- tomcat日志文件目录修改
- java正则表达式语法
- 【matlab】:matlab中 RGB到YUV的转变
- 【java算法】约瑟夫问题求解
- hdoj小布解题
- Delphi常见图象格式转换技术
- 给button添加点击事件,打开一个新的窗体
- Ajax 请求实例
- hdu 1957 find the nth digit【二分查找】
- 多表数据记录查询
- 打个招呼
- Spark配置文件详解