有一百个人,分别从0一直到99。现在有人拿枪从第一个开始枪毙,每枪毙一个跳过一个,一直到一轮完成。接着在活着的人里面再次枪毙第一个,间隔一个再枪毙一个,请问最后活着的是这一百个人里的第几个人?
def kill(lists):
if len(lists) == 1:
print lists
else:
kill(lists[1::2])
取活着的人继续杀,杀到就剩一个人为止
有一百个人,分别从0一直到99。现在有人拿枪从第一个开始枪毙,每枪毙一个跳过一个,一直到一轮完成。接着在活着的人里面再次枪毙第一个,间隔一个再枪毙一个,请问最后活着的是这一百个人里的第几个人?
def kill(lists):
if len(lists) == 1:
print lists
else:
kill(lists[1::2])
取活着的人继续杀,杀到就剩一个人为止
转载于:https://my.oschina.net/u/583535/blog/131014