求大神告诉我怎么做救救孩子吧!Python题目
问题描述:
有n人围坐一圈,按顺时针依次编号为0,1,...,n-1。由编号为0的人开始顺时针报号1,2,3。报到3的人退出,剩下的人继续报号,直到剩下最后1人。下面代码的作用是:输入人数,输出最后剩下的1个人的编号。请补充完整。程序保存到:s11E.py def f(n): a=[x for x in ] #生成n个人的编号组成的列表(对应n个人)。需补充完整 k=0 #当前报号人在a中的索引 m=n #剩下的人数 while m>1: k= #应该退出的人在a中的索引。需补充完整 a.remove( ) #在a中删除报号为3的人。需补充完整 m-=1 return a[0] n=int(input()) print(f(n))
答
def f(n):
a=[x for x in range(n)] #生成n个人的编号组成的列表(对应n个人)。需补充完整
k=0 #当前报号人在a中的索引
m=n #剩下的人数
while m>1:
k= (k+2)%len(a)#应该退出的人在a中的索引。需补充完整
a.remove(a[k]) #在a中删除报号为3的人。需补充完整
m-=1
return a[0]
n=int(input())
print(f(n))
答
建议自行设计程序 发生难以解决的问题 再来寻求帮助。
答
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632