約瑟夫環
時 限:
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三個正整數,來求出列的序列。這個問題採用的是典型的...