其他分享
首页 > 其他分享> > 基督徒问题

基督徒问题

作者:互联网

有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