package cn.itcast.test2;
import java.util.ArrayList;
public class Test2 {
/**
* @param args
* 7,约瑟夫环
*/
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
}
if(count % 3 == 0) { //数到了3的倍数
list.remove(i--); //杀人
}
count++; //循环一次数数变量自增一次
}
return list.get(0); //把集合中的最后活着的返回
}
}
|
|