#include usingnamespace
std;
typedef
struct
data;
typedef
struct
lnode
lnode,*linklist;
intmain()
}intm;
cout
<<"
請輸入設定的上限數:";
cin>>m;
linklist p;
//驗證是否可以迴圈輸出,即迴圈鍊錶是否建立成功
p=new
lnode;
p=l->next; //
將p設為首結點
for(int i=1;i<=m;i++) //
利用輸出判定迴圈鍊錶的建立
cout
next; //
迴圈完成後把p的位置還原
int t=0;//
t代表執行的次數
for(int i=1;i<=m;i++)//
利用給出的上限數開始迴圈 依次輸出密碼的位置
if(i==m-1
)
}p=p->next;
if(t==n-1) //
判斷是否只剩下乙個結點,若剩下乙個則結束迴圈
}cout
輸出最後乙個結點的位置
return0;
}
以上是修正過後的**
1.對於輸出驗證迴圈列表成立後沒有把p指標重新指向首元節點
2.沒有判斷輸入的上限數的值是否太小,可能導致迴圈無法進行。
3.在判斷上限數以及密碼太小時沒有把 i 的值歸零,是迴圈重新開始。
基本約瑟夫環的一些理解
約瑟夫環 josephus cycle 編號為1,2,3,n的n個人按順時針方向圍坐一圈。任選乙個正整數作為報數上限m,從第乙個人開始按順時針方向自1開始順序報數,報到m時停止報數,報m的人出列。從他在順時針方向上的下乙個人開始重新從1報數,如此下去,直到最後圈中只剩下最後乙個人 勝利者 請設計程式...
關於CSRF漏洞的一些介紹
tit1e xw隱私 不看後悔一輩子 title tip width 200px margin 20px auto font size 20px 1 style head div class tip 載入中,請稍候,div 可能有些小錯誤,但作為新手的我還請大家多多包涵哈。這便是攻擊者構造的攻擊 其...
關於約瑟夫環的思考(一) c
題目 約瑟夫環 每隔兩個迴圈刪除陣列元素,求最後刪除者的下標問題 有乙個陣列a 1000 存放0 1000 要求每隔二個數刪掉乙個數,到末尾時迴圈至開頭繼續進行,求最後乙個被刪掉的數的原始下標位置 原來的數可能是無序的,另外數是否重複從題意無法確定 以8個數為例 0 1 2 刪除 3 4 5 刪除 ...