30 個人在一條船上,超載,需要 15 人下船。
于是人們排成一隊,排隊的位置即為他們的編号。
報數,從 1 開始,數到 9 的人下船。
如此循環,直到船上僅剩 15 人為止,問都有哪些編号的人下船了呢?
people = {}
for x in range (1,31):
people[x] = 1 #未下船的人為1,下船的人為0
check = 0
i = 0
j = 30
while j > 15:
i += 1
if i ==31:
i = 0 #當所有人報完一圈數之後,需要從頭開始報數
continue
elif people[i] == 1:
check += 1
if check == 9:
people[i] = 0
check = 0
j -= 1
print("{}号下船了".format(i))
結果如下:
