Python入門基礎 約瑟夫環問題

2021-10-03 14:48:49 字數 699 閱讀 6227

《幸運的**徒》

有15個**徒和15個非**徒在海上遇險,為了能讓一部分人活下來不得不將其中15個人扔到海裡面去,有個人想了個辦法就是大家圍成乙個圈,由某個人開始從1報數,報到9的人就扔到海裡面,他後面的人接著從1開始報數,報到9的人繼續扔到海裡面,直到扔掉15個人。由於上帝的保佑,15個**徒都倖免於難,問這些人最開始是怎麼站的,哪些位置是**徒哪些位置是非**徒。

def main():

persons = [true] * 30

counter, index, number = 0, 0, 0

while counter < 15:

if persons[index]:

number += 1

if number == 9:

persons[index] = false

counter += 1

number = 0

index += 1

index %= 30

for person in persons:

print('基' if person else '非', end='')

if __name__ == '__main__':

main()

結果

基基基基非非非非非基基非基基基非基非非基基非非非基非非基基非

約瑟夫環(python)

約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3 n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出列。通常解決這類問題時我們把編號從0 n 1,最後 結果 1...

Python 約瑟夫環

在這裡插入 片 約瑟夫環問題的起源來自猶太歷史學家約瑟夫和他的朋友以及39其餘的猶太人,總共41人為了躲避敵人,藏在乙個山洞中,39個猶太人決定寧願死也不被敵人抓到,於是決定自殺,所有人排成乙個圈,由第乙個人開始報數,每當數到3,就自殺。這個遊戲接著從自殺的位置開始,還是從1數到3。依次類推,約瑟夫...

python實現約瑟夫環

約瑟夫環 約瑟夫問題 是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從1開始報數,數到m的那個人又出列 依此規律重複下去,直到圓桌周圍的人全部出列。通常解決這類問題時我們把編號從0 n 1,最後結果 1即...