約瑟夫問題 猴子選大王 雙向指標

2021-07-09 20:38:11 字數 441 閱讀 7371

題目大意:有n只猴子(編號為1~n)圍成一圈,從第一只猴子開始數,數到第m只出列,直到只剩下乙隻猴子,打出這只猴子編號。

分析:這道題很顯然是用指標做最簡單。額~~~廢話不多說(程式裡會有注釋),**如下:

#include#includestruct node

};struct node *h,*p,*q; //定義些臨時指標

int main()

p->r=h; //把p右指標設定為h

h->l=p; //把h左指標設定為p

h=h->l; //把h回退乙個方便後面操作

while (h->r!=h)

printf("%d\n",h->a);//打出剩下的猴子的編號

system("pause>nul");

return 0;

}

約瑟夫問題(猴子選大王)

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

猴子選大王 約瑟夫問題

例題描述 由m只猴子圍成一圈,從1到m進行編號,打算從中選出乙個大王,經過協商,決定選出大王的規則 從第乙個開始迴圈報數,數到n的猴子出圈,下乙個猴子從1開始報數。輸入樣例 3 2 輸出樣例 3方法一 模擬法 include using namespace std define max 100 lo...

約瑟夫問題,猴子選大王

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