當前位置:編程學習大全網 - 編程軟體 - 急求用java解決約瑟夫環的編程(接圖片“顯示“出環者”次序並給出最終的赦免者”)

急求用java解決約瑟夫環的編程(接圖片“顯示“出環者”次序並給出最終的赦免者”)

import?java.util.ArrayList;?

import?java.util.List;?

import?java.util.Scanner;?

public?class?demo?{?

public?static?void?main(String[]?args)?{?

Scanner?scanner?=?new?Scanner(System.in);?

System.out.print("請輸入總人數:");?

int?totalNum?=?scanner.nextInt();?

System.out.print("請輸入報數的大小:");?

int?cycleNum?=?scanner.nextInt();?

System.out.print("請輸入第幾個報數:");?

int?cur?=?scanner.nextInt();?

yuesefu(totalNum,?cycleNum?,cur);?

scanner.close();

}?

public?static?void?yuesefu(int?totalNum,?int?countNum,int?cur)?{?

//?初始化人數?

List<Integer>?start?=?new?ArrayList<Integer>();?

for?(int?i?=?1;?i?<=?totalNum;?i++)?{?

start.add(i);?

}?

//從第K個開始計數?

int?k?=?cur-1;?

while?(start.size()?>0)?{?

k?=?k?+?countNum;?

//第m人的索引位置?

k?=?k?%?(start.size())?-?1;?

//?判斷是否到隊尾?

if?(k?<?0)?{?

System.out.println(start.get(start.size()-1));?

start.remove(start.size()?-?1);?

k?=?0;?

}?else?{?

System.out.println(start.get(k));?

start.remove(k);?

}?

}?

}?

}

  • 上一篇:數控職業生涯規劃書
  • 下一篇:北大青鳥java培訓:北大青鳥啟蒙星學費多少?
  • copyright 2024編程學習大全網