桟和佇列 約瑟夫問題

2021-06-20 14:43:16 字數 524 閱讀 4623

約瑟夫問題

time limit: 1000ms    memory limit: 65536k

n個人想玩殘酷的死亡遊戲,遊戲規則如下:

n個人進行編號,分別從1到n,排成乙個圈,順時針從1開始數到m,數到m的人被殺,剩下的人繼續遊戲,活到最後的乙個人是勝利者。

請輸出最後乙個人的編號。

輸入n和m值。

輸出勝利者的編號。

5 3

4

第一輪:3被殺第二輪:1被殺第三輪:5被殺第四輪:2被殺

**#include int main()

{ int i,n,m,f,r,a[1000];

scanf("%d%d",&n,&m);

for(i=0;i<=n;i++)

a[i]=i;

f=1; /*隊首*/

r=n+1; /*隊尾*/

while(n!=1 && n--)

{ for(i=1;i

佇列實現約瑟夫問題

描述約瑟夫問題 有 只猴子,按順時針方向圍成一圈選大王 編號從 到 從第 號開始報數,一直數到 數到 的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入 後,輸出最後猴王的編號。輸入 每行是用空格分開的兩個整數,第乙個是 n,第二個是 m...

約瑟夫環(棧和佇列)

題目 n個數字 1,2,3 n 形成乙個圓圈,從數字1開始,每次從這個圓圈中刪除第m個數字 第乙個為當前數字本身,第二個為當前數字的下乙個數字 當乙個數字刪除後,從被刪除數字的下乙個繼續刪除第m個數字。求出在這個圓圈中剩下的最後乙個數字。input 輸入 n 9 m 5output the last...

約瑟夫環(棧和佇列)

題目 n個數字 1,2,3 n 形成乙個圓圈,從數字1開始,每次從這個圓圈中刪除第m個數字 第乙個為當前數字本身,第二個為當前數字的下乙個數字 當乙個數字刪除後,從被刪除數字的下乙個繼續刪除第m個數字。求出在這個圓圈中剩下的最後乙個數字。input 輸入 n 9 m 5output the last...