迴圈鍊錶應用 約瑟夫環

2021-06-04 08:03:08 字數 527 閱讀 2323

約瑟夫環是乙個數學的應用問題:已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下乙個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。

#include#includetypedef struct node

linklist;

linklist *creat(int n)

p->next=head; /*使煉表尾指向煉表頭 形成迴圈鍊錶*/

return head;

}void fun(linklist *l,int m)

printf("%5d",p->num);

s=p;//刪除節點

q->next=p->next;

p=p->next;

free(s);

} printf("%5d\n",p->num);

}int main()

迴圈鍊錶的應用 約瑟夫環

約瑟夫環 時 限 500 ms 記憶體限制 2000 k 總時限 3000 ms 描述 約瑟夫環 編號為1,2,3,n的n個人按順時針方向圍坐一圈。任選乙個正整數作為報數上限m,從第乙個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,從他在順時針方向上的下乙個人開始重新從1報數,...

迴圈鍊錶的應用 約瑟夫環

題目 報數,共n個人 從1編號,依次報號,報到m出隊,再接著從下乙個人開始數,依次輸出出隊的人。include include typedef struct n node node creat int n 建立n個節點的鍊錶 p next head return head 刪除報號為m的 void ...

迴圈鍊錶(約瑟夫環)

約瑟夫環是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出列。要通過輸入n,m,k三個正整數,來求出列的序列。這個問題採用的是典型的...