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=[]