问题:
几个人围成一圈,依次编号为1、2、3、4、5……。
第一个人报“1”,留下;下一个人报“2”,出局;再下一个人报“1”,留下;再下一个人报“2”,出局……最后只留下一个人。
求最后这个人的编号。
Python模拟:以5个人为例。
玩家集合 = ['玩家' + str(编号) for 编号 in range(1, 6)] # 生成玩家集合
print(玩家集合) # 打印玩家集合
指针 = 0
while len(玩家集合) > 1:
print(玩家集合[指针] + '报1,留下')
指针 = (指针 + 1) % len(玩家集合)
print(玩家集合[指针] + '报2,出局')
玩家集合.pop(指针) # 出局
print('------胜利者是' + 玩家集合[0] + '------')