JavaStudy——0048:小孩報數問題
阿新 • • 發佈:2018-12-20
總時間限制: 1000ms 記憶體限制: 65536kB
描述 有N個小孩圍成一圈,給他們從1開始依次編號,現指定從第W個開始報數,報到第S個時,該小孩出列,然後從下一個小孩開始報數,仍是報到S個出列,如此重複下去,直到所有的小孩都出列(總人數不足S個時將迴圈報數),求小孩出列的順序。
輸入 第一行輸入小孩的人數N(N<=64) 接下來每行輸入一個小孩的名字(人名不超過15個字元) 最後一行輸入asdasdasdasdW,S (W < N),用逗號”,”間隔 輸出 按人名輸出小孩按順序出列的順序,每行輸出一個人名
樣例輸入
5 Xiaoming Xiaohua Xiaowang Zhangsan Lisi 2,3
樣例輸出
Zhangsan
Xiaohua
Xiaoming
Xiaowang
Lisi
Accepted程式碼
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
LinkedList<String> l=new LinkedList<String>();
int n=in.nextInt();in.nextLine();
for (int i=1;i<=n;i++) {
String s=in.nextLine();
l.add(s);
}
char[] s=in.next().toCharArray();
int m=s[0]-'0';
int T=s[2]-'0';
int pos=m-1;
T--;
while(l.size()!=0) {
pos+= T;
pos=pos%l.size();
System.out.println(l.get(pos));
l.remove(pos);
}
in.close();
}
}