编程题2
【问题描述】
现有n 个人围成一圈玩游戏,从第1 个人开始报数,数到第m 个人出局,然后从出局
的下一个人开始报数,数到第m 个人又出局,...,如此反复到只剩下最后一个是胜利
者。设n 个人的编号分别为1,2,...,n,打印出局的顺序。
根据上述描述,编写程序
【样例输入】
10
4
【样例输出】
4
8
2
7
3
10
9
1
6
WINNER5
参考代码:
def Fx(n, k):
L = list(range(1, n + 1))
if n == 1:
print(f'WINNER{L[0]}')
else:
x = 0
while len(L) != 1:
x = (x + k) % len(L) - 1
print(L[x])
del L[x]
if x < 0:
x = 0
print(f'WINNER{L[0]}')
m = int(input())
n = int(input())
Fx(m, n) 本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析