有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))
3条回答 默认 最新
- CSDN专家-天际的海浪 2021-05-18 23:23关注
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))
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
- ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
- ¥15 运动想象脑电信号数据集.vhdr
- ¥15 三因素重复测量数据R语句编写,不存在交互作用
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab