/**
* @param args
* 约瑟夫环
* 幸运数字 杀人游戏
*/
public static void main(String[] args) {
System.out.println(getLucklyNum(8));
}
/*
* 获取幸运数字
* 1,返回值类型int
* 2,参数列表int num
*/
public static int getLucklyNum(int num){
// 创建一个集合存储1到num的对象
ArrayList<Integer> list = new ArrayList<>();
// 创建一个循环
for (int i = 1; i <=num; i++) {
// 将1到num存储到集合中
list.add(i);
}
int count = 1; // 用来数数的,只要是3的倍数就杀人
for (int i = 0; list.size() != 1; i++) { // 只要集合中人数超过1,就要不断的杀
if (i == list.size()) { // 如果i增长到集合最大的索引+1时
i = 0; // 重新归零
}
if (count % 3 == 0) { // 如果是3的倍数
list.remove(i--); // 就杀人
}
count++;
}
return list.get(0);
|
|