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