温馨提示:本站为童趣票务官方授权演出订票中心,请放心购买。
你现在的位置:首页 > 演出资讯  > 儿童亲子

青少儿编程等级考试/Scratch小高组复赛真题-硬币翻转

更新时间:2024-10-30 16:11  浏览量:6

【此题同适用于python、c++等级考试一级】

假设有10个硬币,从1到10按顺序依次编号,初始时全部处于正面向上的状态;有M个人(M为不大于10的正整数)也从1到M依次编号。

第一个人(1号)将硬币全部翻转一次,第二个人(2号)将编号为2的倍数的硬币翻转一次,第三个人(3号)将编号为3的倍数的硬币翻转一次。

依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍致的硬市翻转一次。

请问:当第M个人操作之后,哪些硬币是正面向上的,按从小到大说出其编号,以空格分开。

提示输入人数:

说出结果:

解析:

思路就是用程序来模拟整个过程

创建一个列表,假设默认都是1表示朝上,-1表示向下

使用询问并等待,获取输入的人数

两层循环,外层重复m(回答)次,表示m(回答)个人依次进行操作

内层循环对人编号的倍数(判断余数为0)的硬币进行翻转(1和-1之间得变换用乘以-1即可)

最后通过循环遍历,将值为1的序号全部拼接到一起(变量结果中)即可

完整程序参考少儿编程网:kidscode.cn

标签: 编程 scratch 硬币