当前位置:首页|资讯

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

作者:中国少儿编程网发布时间:2024-10-30

【此题同适用于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


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1