約瑟夫環的陣列實現

2021-06-26 15:35:29 字數 717 閱讀 8706

//約瑟夫環的陣列實現約瑟夫(josephus)問題是由古羅馬的史學家約瑟夫提出的,他參加並記錄了公元66-70 年猶太人反抗羅馬的起義。約瑟夫作為乙個將軍,設法守住了裘達伯特城達47 天之久,在城市淪陷之後,他和40 名將士在附近的乙個洞穴中避難。在**,將士們群情激奮並表示:要投降毋寧死。於是,約瑟夫建議每個人輪流殺死他旁邊的人,而這個順序是由抽籤決定的。約瑟夫有預謀地抓到了最後一簽並且做為洞穴中兩個倖存者之一生存下來。約瑟夫環問題的具體描述是:設有編號為1,2,......,n 的n(n>0)個人圍成乙個圈,從第乙個人開始報數,報到m 時停止報數,報m 的人出圈,再從他的下乙個人起重新報數,報到m 時停止報數,報m 的出圈,......,如此下去,知道只剩下一人為止。當任意給定n 和m 後,設計演算法求n 個人出圈的次序。

#import

int main(int argc, const

char * argv)

;//狀態陣列

初始值都為

0,即都生存

int count = 0;//

死亡人數

int number = 1;//

當前報數的人

從1~10

int i = 0;//

下標while

(count <

10)//死亡人數小於總人數

否則跳出迴圈

} else }

} else }

} return0;}

約瑟夫環(陣列實現)

有 m 個人,每次數 n 個殺死,問從第幾個開始數可以保證第乙個人活到最後。include define ll long long define inf 0x3f3f3f3f define endl n using namespace std const int n 1e6 100 int a n ...

陣列 約瑟夫環

題目描述 已知有n個人圍坐在一張圓桌上,編號依次為0,1,2,n 1,編號為n 1與編號為0的人坐在相鄰的位置。現在編號為k的人從1開始報數,數到m的那個人會退出圓桌。他的下乙個人又從1開始報數,數到m的那個人又出列。依此規律重複下去,請問最後出列的人的編號。輸入格式 輸入一行,包含三個整數n,k,...

陣列(列表)實現約瑟夫殺人環

題目內容 n個人圍成一圈,從第乙個人開始順序報號1,2,3.凡報到3者退出圈子。找出最後留在圈子裡的人原來的序號。要求用陣列實現。python count 0 從0號開始 killpeoplejiange 2 每隔2個殺乙個人 每3個殺乙個 people 0,1,2,3,4,5,6,7,8,9 定義...