題目內容: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 名將士在附近的乙個洞穴中避難。在 將士們群情激奮並表示 要投降毋寧死。於是,約瑟夫建...