A56547 | scratch编程题:数组清零【
来源2025年
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
scratch编程题:数组清零


【题目描述】
小杨有一个装着数字的小篮子(列表),里面放着 n 个非负数字(比如[2, 3, 4],1≤n≤20)。他的任务是通过一系列“魔法操作”,把篮子里所有数字都变成 0。每次操作需要按照以下步骤进行:
(1)找最大的数字:在篮子里找到最大的数字。如果有多个相同的最大值,选位置最靠后面的那个(比如从上往下数,选最下边的)。
(2)找最小的非零数字:在篮子里所有还不是零的数字中,找到最小的那个。
(3)施展魔法:把第一步找到的最大数字,替换为该数字减去第二步找到的最小数字。
默认小猫角色,白色背景,请你帮助小杨计算出一共需要多少次这样的“魔法操作”,才能让所有数字都变成 0。
举个例子:
[2, 3, 4] → [2, 3, 2] → [2, 1, 2] → [2, 1, 1] → [1, 1, 1] → [1, 1,0] → [1, 0, 0] → [0, 0, 0] 一共 7 次。
【输入描述】
新建列表“data”,用于存储篮子中的数据。
如下图所示:

【输出描述】
新建变量“ans”,用于存储最后的结果。
如下图所示:

【输入样例】
data = [2, 3, 4]
【输出样例】
ans = 7
【输入样例】
data = [1, 3, 2, 2, 5]
【输出样例】
ans = 13
注意事项:
1、 变量名的拼写(包括大小写)要和题目完全一致。
2、 输出结果存放在对应变量中即可,无需使用“说…”或“说…,2 秒”积木块
3、 列表直接用“+”功能赋值进行测试即可,无需写代码赋值。

暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?