java:集合练习(约瑟夫环)

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_24644517/article/details/84258537
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);
	}
}

猜你喜欢

转载自blog.csdn.net/qq_24644517/article/details/84258537