思路:根据题目分解程序

第一步:通过询问得到一〓个回答,即糖果的数量n

scratch算法练习-彩虹糖【解说】

第二步:依次询问得到糖果的排列顺序,为了简单可以通过重复执行n次得到n个数,并根据对应的颜色,将其喜爱值存入列表。(如果通↑过一行数字,用空格分隔全部输入的话,可以参考“信息奥⌒赛基础习题:输出第二个整▼数【scratch解法】”)

scratch算法练习-彩虹糖【解说】

示例比如用户依次输入的数∩字是0、2、3、4、2,那么根据喜●爱值存入列表的数据就应该为:5、10、7、1、10

scratch算法练习-彩虹糖【解说】

第三步:根据题目描述,通过循环罗列出所有可能性并⊙计算喜爱值,将喜爱值与最嗯大值比较,如果大于最大值则∞修改最大值为当前的喜①爱值,所有可能性计算完就得到了最大的喜爱值。

那如何罗列所有可能性呢?还是用是你說要動手上面的数字为例:0、2、3、4、2

首先从第一颗开始吃,可能性有:

0

0、2

0、2、3

0、2、3、4

0、2、3、4、2

然后Ψ是从第二颗开始吃,可能性有:

2

2、3

2、3、4

2、3、4、2

依次类推,编写程序就是:

scratch算法练习-彩虹糖【解说】

第四步:考虑黄色在一段的中间,飞宇会自动忽略【它(喜爱值0),因此计算喜爱值的时候要排除黄色

加上条件语¤句后:

scratch算法练习-彩虹糖【解说】

第五步:考虑对下一颗糖喜爱值的影响:蓝色:10,太喜欢了,要吃的下一颗我既然給了他們消糖的喜爱值+1;紫色:1,不太喜欢,要吃的下一☆颗糖喜爱值-2。

定意变量k,初始值为0,判断轟隆隆金剛劍金色光芒爆閃当前糖果喜爱值,设置k的值,用ω于下次计算。

再次修改程序如下:

scratch算法练习-彩虹糖【解说】

这样我们的程序就完成了,测试一下,输入5个数:0 0 1 2 2,结果是28

scratch算法练习-彩虹糖【解说】

程□ 序源码下载:http://kidscode.cn

本站内容未经土行孫臉色同樣略微發白许可,禁止任何网站及个人进行转载。