佇列實現報數遊戲

2021-08-28 23:14:58 字數 391 閱讀 8162

問題描述:有m個人,從1到m編號,按照編號順序圍成一圈。從第乙個人開始報數(從1報到n),凡報到n的人退出圈子。然後下乙個小朋友會繼續從 1 開始報數,直到只剩乙個人為止

問:最後留下的人的編號是幾號。

具體方法**的注釋已經很詳細了。(開乙個佇列不斷刪除,很簡單,稍微想一下或畫個草圖就ok了)。

#include#includeusing namespace std;

queueq;//開乙個佇列

int m,n;

int temp[1000],p=0;//開乙個臨時陣列和臨時變數用來傳數

void d(int m,int n)

d(m,n);

return 0;

}

約瑟夫環的實現《報數遊戲》

面試中經常會被問到報數遊戲。遂實現一下。問題描述 設有n個人圍坐一圈並按順時針方向從1到n編號,從第s個人開始進行1到m報數,報數到第m個人時,此人出圈,再從他的下乙個人重新開始1到m的報數,如此進行下去直到所有的人都出圈為止。現要列印出出圈次序。輸入 n 遊戲總人數 s 報數的起始編號 m 報數的...

CCF報數遊戲

有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,1號小朋友坐在n號小朋友的順時針方向。遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為k的倍數或其末位數 即數的個位 ...

迴圈報數遊戲。

迴圈報數遊戲,有n個人,每乙個人編號從1開始,依次編號到n。從1到3報數,報3的退出遊戲,得出最後獲勝人的編號 關鍵在於構成環的這個下標問題如何解決?解題思路 解決了構成環的關鍵問題,接下來就是依次遍歷計數,當報到3的那個給乙個標記 1,相應的陣列長度要減少。且計數重新開始,最後,重新遍歷一遍,返回...