有30人围成一圈,从1到30依次编号。每个人开始报数,报到9的自动离开。当有人离开时,后一个人开始重新从1报数,以此类推。求离开的前10人编号。
a=[x for x in range(1,31)]
b=[]#用来存放离开的人
n=0#用来记录离开人的个数
while(len(b)<=9):
for x in a:
if x not in b:#每一轮循环中要把已经在b中的排除
n+=1
if n==9:
b.append(x)
n=0
if len(b)==10:
break
print("离开的顺序为",b)
这个题主要思路就是定义一个列表来进行存放离开人的序号,做循环,报数为9的将其添加到b中,当b长度为10的时候终止循环。