1. 程式人生 > >JavaStudy——0048:小孩報數問題

JavaStudy——0048:小孩報數問題

總時間限制: 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(); } }