1.約瑟夫問題
描述:有n只猴子,按順時針方向圍成一圈選大王(編號從1到n),從第1號開始報數,一直數到m,數到m的猴子退出圈外,剩下的猴子再接著從1開始報數。就這樣,直到圈內只剩下乙隻猴子時,這個猴子就是猴王,程式設計求輸入n,m後,輸出最後猴王的編號。
輸入:輸入包含兩個整數,第乙個是n,第二個是m (0 < m,n <=300)。
輸出:輸出包含一行,即最後猴王的編號。
樣例輸入
12 4
樣例輸出1
#include
#include//存放malloc,calloc,realloc,free函式
using namespace std;
typedef int elemtype;
typedef struct dnode //結點型別
dnode; //dnode為結構體型別的變數名。
int main()
p = l->next;
s->next = p; //連線首尾元素,使煉表成環。
free(l); // 釋放頭結點
while(p->next != p)
p->next = p->next->next; //將第k只猴子淘汰
p = p->next;
}printf("%d\n",p->data);
return 0;
}
資料結構 迴圈鍊錶之約瑟夫問題
include include include using namespace std define elemtype string typedef struct lnode lnode,listq 迴圈鍊錶初始化 頭針指lq向最後乙個資料 bool initiallist listq lq ito...
約瑟夫問題(迴圈鍊錶)練習
約瑟夫問題是個著名的問題 n個人圍成一圈,第乙個人從1開始報數,報m的將被殺掉,下乙個人接著從1開始報。如此反覆,最後剩下乙個,求最後的勝利者。例如只有三個人,把他們叫做a b c,他們圍成一圈,從a開始報數,假設報2的人被殺掉。約瑟夫問題其實就乙個迴圈鍊錶問題 先建立節點類 public clas...
資料結構 迴圈鍊錶,約瑟夫環
一 迴圈鍊錶 include stdio.h include stdlib.h typedef struct node node 初始化迴圈鍊錶 void ds init node pnode 初始化迴圈鍊錶,pnode 鍊錶上 else 返回結點所在位置 int ds search node pn...