问题:十五个猴子围成一圈选大王,依次 1-7 循环报数,报到 7 的
猴子被淘汰,直到最后一只猴子成为大王。问哪只猴子能成为大
王。
a=list(range(16))
num=a[1:]#给猴子编号,1到15
while True:
for i in range(1,7):#从1开始数,数6次(即循环6次),然后第七只出局
num.append(num[0])#猴子数完数就去列表的末尾
del(num[0])#删除变量,方便下一只猴子下次使用
if(i==6):#已经数了6只猴子,第七只猴子出局
print('出局的猴子的编号为:',num[0])
num.pop(0)#从列表中删除出局的猴子
if len(num)==1:#列表中只有一只猴子了,就是大王
break
print('猴子大王的编号为:',int(num[0]))
欢迎留言,并给给提出建议或疑惑,如果觉得不错的话,点个赞哦!!!!
本文探讨了一种独特的猴子淘汰赛算法,通过15只猴子围圈报数的方式选出最终的大王。每轮从1开始报数至7,报7的猴子被淘汰,直至剩下一只。文章提供了详细的算法实现步骤及代码示例。
1762

被折叠的 条评论
为什么被折叠?



