约瑟夫环求出队情况
約瑟夫環求出隊情況
問題描述 :
首先公司的全部職員圍成一個圈,然后確定一個淘汰數X,接著就從其中的一個人開始,從1數數,當數到X時,那個人就被淘汰出局,接著下一個人再從1開始數數,一直這樣重復下去,直到剩下最后一個人,那個人就是最后的大獎得主。
例如,公司有5個人,淘汰數定為2,則一開始五個人排成一圈,依次編號為:1、2、3、4、5; 首先從編號1的人開始數數,數到2后,編號2淘汰,這樣只剩下4個人:1、3、4、5; 接著從編號3的人開始數,數到2后,編號4淘汰,這樣只剩下3個人:1,3、5; 接著從編號5的人開始數,數到2后,編號1淘汰,這樣只剩下2個人:3、5; 最后從編號為3的人開始數,數到2后,編號5淘汰,最后編號為3的那個人就獲得了最終的大獎。 (注:以上的淘汰順序為2 4 1 5 3。)
問題可以歸結為:給你一個公司的人數N和一個淘汰數X,你的程序模擬上面描述的淘汰方式,輸出淘汰人的編號順序。
輸入說明 :
你寫的程序要求從標準輸入設備中讀入測試數據作為你所寫程序的輸入數據。標準輸入設備中有多組測試數據,每組測試數據僅一行,每組測試數據有兩個整數N(1<N<100)和X(0<X<10),N表示公司的人數,X表示淘汰數,兩個整數用一個空格隔開。每組測試數據與其后一組測試數據之間沒有任何空行,第一組測試數據前面以及最后一組測試數據后面也都沒有任何空行。
輸出說明 :
對于每一組測試數據,你寫的程序要求計算出一組相應的運算結果,并將這一組運算結果作為你所寫程序的輸出數據依次寫入到標準輸出設備中。每組運算結果為N個整數,即淘汰人的編號的順序,每個數之間用一個空格隔開。每組運算結果單獨形成一行數據,其行首和行尾都沒有任何空格,每組運算結果與其后一組運算結果之間沒有任何空行,第一組運算結果前面以及最后一組運算結果后面也都沒有任何空行。 注:通常,顯示屏為標準輸出設備。
輸入范例 :
5 2
5 6
99 1
輸出范例 :
2 4 1 5 3
1 3 2 5 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
總結
- 上一篇: 百度ChatGPT项目
- 下一篇: 超级玛丽跳陷阱问题