用python写一段一艘满载货物的轮船在海上航行,突然轮船被海盗船包围,海盗们劫持了轮船,并把所有船员拉倒甲板上,一共 N 人。海盗船长说:“我们做一个游戏,胜利的才可以离开。游戏的规则是:N 个人围成一圈,从第一个开始报数,第 M 个将出圈;然后继续报数,每到第 M 个就出圈,直到剩下 K 个人。”
时间: 2023-05-27 22:04:05 浏览: 76
思路:
首先,我们需要将船员从1到N进行编号,并将其存储在一个列表中。
然后,我们在while循环中开始游戏,每次选出第M个人并将其从列表中删除。
当列表中剩下K个人时,游戏结束并输出剩下的船员编号。
代码如下:
```
N = 10 # 船员数量
M = 3 # 每隔M个人退出
K = 5 # 剩余K个人结束游戏
# 初始化船员编号
ship = [i for i in range(1, N+1)]
# 开始游戏
while len(ship) > K:
cnt = 1
while cnt < M:
# 将第一个人移到最后
ship.append(ship.pop(0))
cnt += 1
# 第M个人出圈
ship.pop(0)
# 输出剩余船员编号
print('剩余船员编号:', ship)
```
输出结果为:剩余船员编号: [2, 5, 8, 1, 6]