數組實現約瑟夫循環

public static void main(String[] args) {
		//約瑟夫循環問題
		boolean[] flag = new boolean[30];
		for(int i =0;i<flag.length;i++){
			flag[i] = true;
		}
		int counter = 30;
		int index = 0;
		while(counter>15){
			for(int i =0;i<8;i++){
				while(flag[index]!=true){
					index++;
					if(index==30){
						index=0;
					}
				}
				index++;
				if(index==30)
					index=0;
			}
			while(flag[index]!=true){
				index++;
				if(index==30){
					index=0;
				}
			}
			flag[index++] = false;
			if(index==30)
				index=0;
			counter--;
		}
		for(int i = 0;i<flag.length;i++){
			if(flag[i]==true){
				System.out.println(i+1);
			}
		}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章