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))
结果如下: