1875 丟手絹 約瑟夫環變形 列舉

2021-08-15 12:36:01 字數 883 閱讀 1437

1875 丟手絹

基準時間限制:1 秒 空間限制:131072 kb 分值: 20

難度:3級演算法題

六一兒童節到了,小朋友們在玩丟手絹的遊戲。總共有

c個小朋友,編號從1到

c,他們站成乙個圈,第

i(1個人的左邊是

i-1,第

1個人的左邊是c。第

i(1<=i個人的右邊是

i+1,第

c個人的右邊是

1。然後再給出乙個常數

e。剛開始的時候

1號小朋友拿著手絹,接下來遊戲開始,在遊戲的每一輪,拿手絹的人會把手絹向右邊傳遞e-

1個人,拿到手絹的人退出圈,把手絹遞給他右邊的小朋友,剩下的人向中間挨緊,把圈中的空位補滿。然後開始下一輪,如此往復。直到圈中只剩乙個人。比如c=

6,e=

5的時候,出圈的順序是

5,4,6,2,3,最後1號小朋友留在了圈中。

現在有2g個小朋友,要求乙個最小的常數e,使得這2g個小朋友玩了g輪遊戲之後,出圈的小朋友編號剛好是g+1到2g。

input

多組測試資料。

每一行給出乙個整數g( 0 output

輸出多行,表示每一組資料的答案。

input示例

3

40

output示例

5

30

code:
#include using namespace std;

int hash( int n )

} }}int main()

while( ~scanf("%d",&n) && n )

return 0;

}

約瑟環問題(丟手絹)

題目 n個人圍成一圈,起始編號為0 n 1。從0開始依次報數,報到m則離開圓圈。問最後離開的人的編號多少?分析 以每個人離開作為乙個週期,下一次假設所有人編號變化 其實是對映到 新的編號0 n 2。這裡的對映關係可以通過取模獲得 每次離開乙個人,離開前總人數n,m 1的人離開,那麼下次編號和上次編號...

51nod 1875 丟手絹(離線打表)

六一兒童節到了,小朋友們在玩丟手絹的遊戲。總共有c個小朋友,編號從1到c,他們站成乙個圈,第i 1現在有2g個小朋友,要求乙個最小的常數e,使得這2g個小朋友玩了g輪遊戲之後,出圈的小朋友編號剛好是g 1到2g。input 多組測試資料。每一行給出乙個整數g 0 g 14 g 0的時候表示輸入結束。...

變形的約瑟夫環問題

time limit 1 sec memory limit 128 mb submit 142 solved 68 submit status web board n個站成一列的士兵和乙個整數m,士兵編號是1 n。每次士兵按編號從小到大的順序依次報數,如果報的數不是m的倍數,則該士兵出列。這樣重複幾...