Java 小孩報數問題
阿新 • • 發佈:2018-12-24
小孩報數問題:有N個小孩圍成一圈,給他們從1開始依次編號,現指定從第W個開始報數,報到第S個時,該小孩出列,然後從下一個小孩開始報數,仍是報到S個出列,如此重複下去,直到所有的小孩都出列(總人數不足S個時將迴圈報數),求小孩出列的順序。
package Work2; import java.util.LinkedList; import java.util.Scanner; public class Baoshu { public static void main(String[] args) { Scanner cin=new Scanner(System.in); LinkedList<String> l= new LinkedList<String>(); int n=cin.nextInt(); cin.nextLine();//小孩子的個數 for(int i=1;i<=n;i++)//將每一個小孩子都新增到連結串列中 { String s=cin.nextLine(); l.add(s); } char[] s=cin.next().toCharArray(); int m=s[0]-'0'; int T=s[2]-'0'; int pos=m-1; T--;//注意T要減1,因為當前孩子也要報數 while(l.size()!=0) { pos+=T; pos=pos%l.size(); System.out.println(l.get(pos)); l.remove(pos); } cin.close(); } }