基督徒问题
作者:互联网
有15个基督徒和15个非基督徒在海上遇险,为了能让一部分人活下来不得不将其中15个人扔到海里面去。
有个人想了个办法就是大家围成一个圈,由某个人开始从1报数,报到9的人就扔到海里面,他后面的人接着从1开始报数,报到9的人继续扔到海里面,直到扔掉15个人。
由于上帝的保佑,15个基督徒都幸免于难,问这些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。
people_list = list('1'*30) # 用1表示活着
people = 0 # 位置索引
dead = 0 # 统计死掉的人
count = 1 # 报数
while dead < 15:
people = people % 30 # 围成一个圈,所以30个人不停循环
if people_list[people] == '1': # 如果这个人还没死
if count == 9: # 如果他报了9
people_list[people] = '0' # 那他就死了
dead = dead + 1 # 死掉的人+1
count = 1 # 重新报数
else: # 如果不是报的9
count = count + 1 # 下一个人报数+1
people = people + 1 # 下一个人继续
print(people_list)
结果:
标签:count,15,people,list,问题,基督徒,报数 来源: https://blog.csdn.net/weijiaxin2010/article/details/90269571