A49882. 有 n 个人围成一圈, 顺序排号。 从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子, 问最后留下的是原来第几号的那位。n = int(input('请输入总人数:'))num = []for i in range(n): num.append( ① )i = 0k = 0m = 0while m < n - 1…
填空题
中等
知识点
题目描述
有 n 个人围成一圈, 顺序排号。 从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人
退出圈子, 问最后留下的是原来第几号的那位。
n = int(input('请输入总人数:'))
num = []
for i in range(n):
num.append( ① )
i = 0
k = 0
m = 0
while m < n - 1:
if ② : k += 1
if k == 3:
num[i] = 0
k = 0
③
i += 1
if i == n : i = 0
i = 0
while num[i] == 0:
i += 1
print(④ )
参考答案
n = int(input('请输入总人数:'))
num = []
for i in range(n):
num.append(i + 1)
i = 0
k = 0
m = 0
while m < n - 1:
if num[i] != 0 : k += 1
if k == 3:
num[i] = 0
k = 0
m += 1
i += 1
if i == n : i = 0
i = 0
while num[i] == 0:i += 1
print(num[i])
上一题
下一题