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。

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

scratch编程输入年份判断是不是闰年讲解

2023-5-11 11:52:36

综合资讯

scratch加法出题编程,计算答题得分总成绩

2023-5-11 11:52:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索