一群猴子围成一圈,按1,2,3,…,n依次编号。
然后从第1只开始数,数到第m只,把它剔除圈,再重新开始数,
如此不停的进行下去,最后剩下的那只就是大王。
要求编程模拟次过程,封装一个函数,传入参数m,n,返回最后大王的编号
def monkey_choice_king(m, n):
#用列表生成式生成一个列表
lt = [i for i in range(1, n + 1)]
while len(lt) > 1:
# 循环m-1次
for x in range(m - 1):
lt.append(lt.pop(0))
lt.pop(0)
return lt[0]
m = 10
n = 3
print(monkey_choice_king(m, n))