'''《幸运的基督徒》
有15个基督徒和15个非基督徒在海上遇险,
为了能让一部分人活下来不得不将其中15个人扔到海里面去,
有个人想了个办法就是大家围成一个圈,由某个人开始从1报数,
报到9的人就扔到海里面,他后面的人接着从1开始报数,
报到9的人继续扔到海里面,直到扔掉15个人。由于上帝的保佑,
15个基督徒都幸免于难,问这些人最开始是怎么站的,哪些位置是基督徒哪些位置是非基督徒。
'''
def main():
num = [1 for i in range(30)]
lucky(num, 0)
for i in range(30):
print(num[i], end="")
def lucky(num, su):
zhi = 0
for i in range(30):
if num[i] != 0:
su = su + 1
if su == 9:
su = 0
num[i] = 0
for i in range(30):
zhi = zhi + num[i]
if zhi > 15:
lucky(num, su)
return num
if __name__ == '__main__':
main()
python-约瑟夫问题
最新推荐文章于 2024-03-07 21:02:40 发布