python编程实现:从1到n报数,凡是报到3或者包含3的倍数的人退出,剩余的人从n+1开始继续报数,如此循环,直到剩余一个人,求这个人是原来的几号位

本文介绍了使用Python编程解决一个数学问题:从1到n报数,每报到3或3的倍数的人退出,剩余的人继续报数,直至只剩一人,探究该人的原始编号。通过生成列表、遍历和剔除0的过程来实现循环,最终找出答案。
摘要由CSDN通过智能技术生成

python编程实现:从1到n报数,凡是报到3或者包含3的倍数的人退出,剩余的人从n+1开始继续报数,如此循环,直到剩余一个人,求这个人是原来的几号位

程序分析:
1、先生成一个从1到n的列表,然后从1到n遍历除以3,如果能够被3整除则该位置赋值为0,遍历完后,将0从列表中剔除从而得到一个新列表
2、当第二次循环时,新的列表中的元素索引分别从n+1开始依次赋值,并且比较是否能被3整除,赋值为0,遍历完后,将0从列表中剔除掉,再次循环,直到剩余一个元素
3、2中的n+1中的n获取方式:获取上一个列表长度作为下一次的新n,每次遍历循环的n累加做新的初始值

代码实现如下:

n=int(input('输入n:'))
li=[]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值