1. 程式人生 > >java:集合練習(約瑟夫環)

java:集合練習(約瑟夫環)

import java.util.ArrayList;

public class Test8 {

	public static void main(String[] args) {
		System.out.println(getLucklyNum(8));
	}
	public static int getLucklyNum(int num) {
		ArrayList<Integer> list=new ArrayList<>();//建立集合儲存1到num的物件
		for(int i=1;i<=num;i++) {
			list.add(i);//將1到num儲存到集合中
		}
		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) {
				list.remove(i--);
			}
			count++;
		}
		return list.get(0);
	}
}