题库首页 › 信息素养大赛(Python) › 题目 13563

同学们正在练习列队,从第一个人开始按编号1、2、…、n(n<1000)报数,开始所有人都是面向前方,第一遍报数是2的倍数的同学执行一遍向后转命令,第二遍报数是3的倍数的同学执行一遍向后转命令,第三遍报数是5的倍数的同学执行一遍向后转命令,输入人数n,按顺序输出最终仍然面向前方的同学的编号。 输入样例: 10 输出样例: 1 6 7 10

正确答案:参考程序(Python):n=int(input());f=[True]*(n+1);for x in (2,3,5):for i in range(x,n+1,x):f[i]=not f[i];print(' '.join(str(i) for i in range(1,n+1) if f[i]))。样例10→1 6 7 10。核心:倍数翻转三次。

试卷来源:2022全国青少年信息素养大赛Python编程挑战赛(小学组_复赛_安徽赛区)真题

本卷相关题目

在线做题 同科目题库