标题: 解决约瑟夫环的小程序 [打印本页] 作者: bfl625 时间: 2014-9-2 21:18 标题: 解决约瑟夫环的小程序 约瑟夫环:设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到3的倍数时停止报数,报3的人出圈,从他的下一个人起接着报数,报到3 的倍数时停止报数,此人的出圈,……,如此下去,直到剩下最后一个为止。
实现的小程序如下:仅供参考哦。
public class Test{
public static void main(String[] args) {
System.out.println(getLucklyNum(500));
}
public static int getLucklyNum(int num) {
ArrayList<Integer> list = new ArrayList<>(); //创建ArrayList集合
for(int i = 1; i <= num; i++) { //遍历num数字
list.add(i); //将1到num添加到集合中
}
int count = 1; //数数的变量
for(int i = 0; list.size() != 1; i++) { //只要集合中的元素不是一就循环
if(i == list.size()) { //如果i是超过了最大索引
i = 0; //重新置为0
}