java写--约瑟夫环
来源:互联网 发布:卖家如何退出农村淘宝 编辑:程序博客网 时间:2024/06/02 08:11
快下班了正好手头活干完,就写了这个约瑟夫环,采用的是模拟的方式,如果有问题请给预指正。
import java.util.ArrayList;
/**
* 约瑟夫环*/
public class JosephApp {
public static void main(String[] args) {
ArrayList<Integer> men = create((int)(Math.random() * 100));
cyclic(men,(int)(Math.random() * men.size()) ,(int)(Math.random() * men.size()));
}
/**
* @param men 人群
* @param start 开始报数人的编号 (从0开始)
* @param outNum 出局数 (报数从1开始)
*/
public static void cyclic (ArrayList<Integer> men, int start, int outNum ) {
System.out.println("=============== 人数:" + men.size() + " 开始报数人的编号:" + start + " 出局数:" + outNum);
int startIndex = start;
while(men.size()> 0) {
int a = (startIndex + outNum -1) % men.size();
System.out.println("现有人数:" + men.size() +" 开始报数人的编号:" + startIndex + "开始数,到" + outNum + "人编号为 :" + men.remove(a) + "出局");
if (men.size() != 0) {
startIndex = a % men.size();
}
}
}
/**
* 对人员进行编号(从0开始)
* @param manCnt 人数
* @return
*/
public static ArrayList<Integer> create (int manCnt) {
ArrayList<Integer> men = new ArrayList<Integer>();
for(int i= 0; i < manCnt; i++)
men.add(i);
return men;
}
}
0 0
- java写--约瑟夫环
- 约瑟夫问题(约瑟夫环) java
- 约瑟夫环问题--java
- 约瑟夫环java
- java实现约瑟夫环
- java实现约瑟夫环
- java 实现约瑟夫环
- 约瑟夫环问题 Java
- 约瑟夫环JAVA
- 约瑟夫环--java实现
- 约瑟夫环 java实现
- JAVA求解约瑟夫环
- java约瑟夫环问题
- java实现约瑟夫环
- Java实现约瑟夫环
- 约瑟夫环算法java
- 约瑟夫环问题【java】
- java实现约瑟夫环
- 深入理解JavaScript Hijacking原理
- Java-数据库(SQL Server):-第一天-12/02/2014
- red hat9.0 硬盘挂载----(下)
- Paging Alorithm of mysql
- JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础
- java写--约瑟夫环
- 【C++】【基础】const限定符的使用
- 高性能I/O设计模式概述
- Java-数据库(SQL Server):第二天-12/03/2014
- Oracle清缓存
- Android仿微信摇一摇,加速度传感器基本使用
- 《运动的小球》第一篇
- 在Fedora中如何授予权限给用户使用Docker
- Xcode6下添加.pch文件