2024年春节联欢晚会上,刘谦表演的纸牌魔术对应经典约瑟夫环问题:n张牌形成一个环,依次循环报数,每次报到m的牌被扔掉,直到剩下最后一张牌。现有模拟8张牌淘汰过程的Python程序,请补充完成代码中的空缺部分。
def Josephus(num, gap):
location_list = [a for a in range(1, num + 1)]
if num == 1:
①
else:
index = 0
for i in ②:
index = (index + gap - 1) % ③
print("本次淘汰的牌为:", location_list[index])
del location_list[index]
print("最后剩下的牌为:", location_list[④])
Josephus(8, 2)