1. 程式人生 > >Java藍橋杯之約瑟夫環

Java藍橋杯之約瑟夫環

import java.util.ArrayList;

public class Test8 {

	/**
	 * @param args
	 * 約瑟夫環
	 * * 幸運數字
	 */
	public static void main(String[] args) {
		System.out.println(getLucklyNum(8));
	}

	/*
	 * 獲取幸運數字
	 * 1,返回值型別int
	 * 2,引數列表int num
	 */
	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) { //如果是3的倍數 list.remove(i--); //就殺人 } count++; } return list.get(0); } }