約瑟夫環的陣列實現 經典思考題原創解法

2021-06-28 17:45:44 字數 844 閱讀 7988

題目:

約瑟夫(josephus)問題是由古羅馬的史學家約瑟夫提出的,他參加並記錄了公元66-70年猶太人反抗羅馬的起義。約瑟夫作為乙個將軍,設法守住了裘達伯特城達47天之久,在城市淪陷之後,他和40名將士在附近的乙個洞穴中避難。在**,將士們群情激奮並表示:要投降毋寧死。於是,約瑟夫建議每個人輪流殺死他旁邊的人,而這個順序是由抽籤決定的。約瑟夫有預謀地抓到了最後一簽並且做為洞穴中兩個倖存者之一生存下來。

約瑟夫環問題的具體描述是:

設有編號為1,2,......,n的n(n>0)個人圍成乙個圈,從第乙個人開始報數,報到m時停止報數,報m的人出圈,再從他的下乙個人起重新報數,報到m時停止報數,報m的出圈,......,如此下去,直到只剩下一人為止。當任意給定n和m後,設計演算法求n個人出圈的次序。

**如下:

#import
//sizeone  為陣列大小 ,也就是存放一共有幾個人, 

//m為喊數字幾就死乙個人, 這裡定義為3 也就是每當喊道 3 的那個人就死亡.

#define sizeone 5

#define m 3

int main(int argc, const char * argv)

; int count = sizeone , panduan = 1 , i = 1 ,j = 0;

while( count != 1)

else

}else

else

}else}}

}return 0;

}

約瑟夫環(陣列實現)

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

約瑟夫環的陣列實現

約瑟夫環的陣列實現約瑟夫 josephus 問題是由古羅馬的史學家約瑟夫提出的,他參加並記錄了公元66 70 年猶太人反抗羅馬的起義。約瑟夫作為乙個將軍,設法守住了裘達伯特城達47 天之久,在城市淪陷之後,他和40 名將士在附近的乙個洞穴中避難。在 將士們群情激奮並表示 要投降毋寧死。於是,約瑟夫建...

flex實現經典的sticky footer布局

需求分析 當頁面內容小於裝置螢幕的高度時,底部footer部分固定在螢幕底部,當頁面內容超出螢幕高度時,底部footer部分隨頁面變動,始終在頁面的底部。flex布局實現 html部分 body css部分 html,body,header,footer,section,div,p html bod...