#5422. [GESP202509 四级 Scratch] 26. 数组清零

[GESP202509 四级 Scratch] 26. 数组清零

数组清零 【题目描述】

小杨有一个装着数字的小篮子(列表),里面放着 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、 列表直接用“+”功能赋值进行测试即可,无需写代码赋值。