迴圈鍊錶的應用 約瑟夫環

2021-06-05 05:16:05 字數 952 閱讀 6240

約瑟夫環

時 限:

500 ms

記憶體限制:

2000 k

總時限:

3000 ms

描述:約瑟夫環

編號為1,2,3,……,n的n個人按順時針方向圍坐一圈。任選乙個正整數作為報數上限m,從第乙個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,從他在順時針方向上的下乙個人開始重新從1報數,如此下去,直至所有人全部出列為止。設計程式輸出出列順序。

輸入:人數n 報數上限m

人員記錄1 (格式為:姓名 學號 性別 年齡 班級 健康狀況)

人員記錄2

人員記錄n

輸出:第1次報數出列的人員記錄

第2次報數出列的人員記錄

第n次報數出列的人員記錄

#include using namespace std;

typedef struct _node

node;

int getinfo(node *stu)

int printinfo(node *stu)

p=q=head;

int currno=totalnum;

while(currno!=1)

printinfo(p);

while(q->next!=p)

//delete p

q->next=p->next;

//store p

s=p;

//move p to the next position

p=p->next;

delete(s);

currno--;

}printinfo(p);

delete(p);

//printinfo(head);

return 0;

}

迴圈鍊錶應用 約瑟夫環

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

迴圈鍊錶的應用 約瑟夫環

題目 報數,共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三個正整數,來求出列的序列。這個問題採用的是典型的...