scratch解蓝桥杯真题:有n个人围城一个圈,按顺序排好号,然后从第一个开始报数,报到3退出圈子,继续从1到3报数,直到剩下最后一个人,求最后留下的是几号

用scratch来解答一道蓝桥杯真题,C++解答版本可以点击查看《C++解蓝桥杯真题:有n个人围城一个圈,按顺序排好号,然后从第一个开始报数,报到3退出圈子,继续从1到3报数,直到剩下最后一个人,求最后留下的是几号

题目如下:

有n个人围城一个圈,按顺序排好号,然后从第一个开始报数(从1到3报数),报到3的人退出圈子,然后继续从1到3报数,直到最后留下一个人游戏结束,问最后留下的是原来的第几号?

scratch解答蓝桥杯真题

这道题是考察学生对循环结构的灵活使用。 解析:这道题的解题思路就是不断报数,让报数到3的时候就把当时的列表元素替换为0,最后仅剩下一个非0的数字,这个数字就是我们所要求得,循环遍历下,遇到不等0的元素就取出来即可。

我们可以设置三个变量:

第一个变量为 报数 从1开始每次循环加1,当报数=3的时候,又从1开始报数;

第二个变量为 0的个数 每次报数到3的时候就把列表中的元素值替换为0 并统计0的个数,当0的个数为n-1的时候,也就是列表中仅剩一个非0的数据时,结束循环

第三个变量为 位置 代表循环指针的位置,每次循环的时候都加1 当位置=列表的长度时,位置设为1重新循环

第一步,创建一个列表,用来存放输入的n个人的序列号 1,2,3….n

scratch列表的创建

第二步,添加点击角色后执行的积木块。

结果验证:当输入5时,结果为4;当输入34时,结果为10;当输入3时,结果为2。

最后更新时间:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

上一篇2022-10-08 12:15:53
下一篇 2022-10-10 10:00:00

相关推荐