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

2021-08-21 21:35:23 字數 604 閱讀 5148

題目內容:n個人圍成一圈,從第乙個人開始順序報號1,2,3.凡報到3者退出圈子。找出最後留在圈子裡的人原來的序號。要求用陣列實現。

python**:

count = 0   #從0號開始

killpeoplejiange = 2 #每隔2個殺乙個人(每3個殺乙個)

people = [0,1,2,3,4,5,6,7,8,9] #定義10個人的列表(陣列)

print("刪除順序為:")

while len(people) != 1: #當只有一人退出程式

count += killpeoplejiange

if count >= len(people): #如果超出了長度,就取乙個餘,然後殺

count = count % len(people)

print(people[count])

del people[count] #殺

else: #沒超出就直接殺

print(people[count])

del people[count]

print("最後剩下:",people) #列印最後剩下的

約瑟夫環(陣列實現)

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

約瑟夫環,殺人遊戲(靜態迴圈鍊錶實現)

覺得用靜態迴圈鍊錶最划算了。1 動態鍊錶要動態分配,指標移來移去,釋放指標等等,弄得很煩,容易出錯。2 用迴圈鍊錶是當然的了。ds 似迴圈靜態鍊錶 include include include using namespace std int kill you const int sum 1,con...

約瑟夫環的陣列實現

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