約瑟夫問題
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...