約瑟夫問題

2021-10-06 04:51:43 字數 1252 閱讀 5735

問題描述

題目:有n個人圍成一圈,順序排號。從第乙個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。

>>

>n=

eval

(input

("請輸入圍坐總人數:"))

>>

>num=

>>

>

for i in

range

(n):

>>1)

>>

>i=

0#列表索引值

>>

>k=

0>>

>m=

0#退出去的人數

>>

>

while m>>

>

if num[i]!=0

:>>

> k+=

1>>

>

if k==3:

#k等於多少可修改

>>

>

print

("第{}個人出局"

.format

(num[i]))

>>

> num[i]=0

>>

> m+=

1>>

> k=

0#重新報數

>>

> i+=

1>>

>

if i==n:

>>

> i=

0#完成對列表的一次遍歷了,從列表首位開始

>>

>i=

0>>

>

while num[i]==0

:>>

> i+=

1>>

>

print

("留下第{}號"

.format

(num[i]))

請輸入圍坐總人數:

8第3個人出局

第6個人出局

第1個人出局

第5個人出局

第2個人出局

第8個人出局

第4個人出局

留下第7號

_________________

請輸入圍坐總人數:

6第5個人出局

第4個人出局

第6個人出局

第2個人出局

第3個人出局

留下第1號

約瑟夫問題 約瑟夫環

約瑟夫 問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死...

約瑟夫問題 約瑟夫環

約瑟夫問題 有時也稱為約瑟夫斯置換,是乙個出現在電腦科學和數學中的問題。在計算機程式設計的演算法中,類似問題又稱為約瑟夫環。又稱 丟手絹問題 據說著名猶太歷史學家 josephus有過以下的故事 在羅馬人占領喬塔帕特後,39 個猶太人與josephus及他的朋友躲到乙個洞中,39個猶太人決定寧願死也...

約瑟夫問題

這是17世紀的法國數學家加斯帕在 數目的遊戲問題 中講的乙個故事 15個教徒和15 個非教徒在深海上遇險,必須將一半的人投入海中,其餘的人才能倖免於難,於是想了乙個辦法 30個人圍成一圓圈,從第乙個人開始依次報數,每數到第九個人就將他扔入大海,如此迴圈進行直到僅餘15個人為止。問怎樣排法,才能使每次...