資料結構 204 最後報告的幸運兒
1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。
2. 設計說明:
(1) 公民課報告時,王老師想出了一個方法來決定學生上台報告的順序:假設班上共有 N 位學生(1 ≤ N ≤ 60),座號為 1 ~ N,老師請班長隨機抽出一張撲克牌(A,2,...,10,J,Q,K),並以 X 表示抽中撲克牌的號碼(1 ~ 13)。接著讓所有學生依照座號「由小到大」順時鐘排成一個圓圈,然後從座號 1 號學生順時鐘依序開始報數(1 ~ X),數到 X 的同學就成為第一個報告者並離開圓圈;接著從下一位學生依照相同方式繼續由 1 開始報數,決定出下一個報告者,持續上述過程直到決定出所有學生的報告順序。
(2) 請你寫出一支程式來找出:哪個座號是最後報告的幸運兒?
舉例:假設班上有 12 位學生(N = 12),班長隨機挑中的撲克牌數字是 5(X = 5)。接著,從 1 號開始順時針報數(1 ~ 5),第一位被挑中的學生是 5 號同學;再從 6 號同學繼續報數(1 ~ 5),第二位被選的是 10 號同學;再從 11 號同學繼續報數,第三位被選的是 3 號同學...以此類推,然後繼續以上相同程序。
提示:可使用類似佇列(Queue)的資料結構來紀錄相關資料。
3. 輸入輸出:
輸入說明
第 1 列:班級人數 N(1 ≤ N ≤ 60)。
第 2 列:抽中的撲克牌號碼 X(1 ≤ X ≤ 13)。
輸出說明
最後一位報告的學生座號。
範例輸入1
12
5
範例輸出1
1
範例輸入2
10
5
範例輸出2
3 |