好心的高手帮解一道C++递归题目

题目:在一个桌子上顺序摆放有4个砝码,已知它们的质量分别为4,4,5,9克。现在要将砝码按次序地合并成一堆,规定每次只能选相邻的2堆砝码合并成新的一堆,并将新的一堆砝码的... 题目:在一个桌子上顺序摆放有4个砝码,已知它们的质量分别为4,4,5,9克。现在要将砝码按次序地合并成一堆,规定每次只能选相邻的2堆砝码合并成新的一堆,并将新的一堆砝码的总质量记为该次合并的得分。编程求出将这4堆砝码合并成一堆的最大得分。
如:[ ( 4 + 4 ) + 5 ] + 9 = 43 分
第一次:8 第二次:13 第三次:22 8+13+22=43
(没多少分了,不好意思)
展开
 我来答
sccbjj
2011-11-29 · 超过10用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:28.3万
展开全部
(4+4)+(4+4+5)+(4+4+5+9)=43
分别定义数组a[0]=4;a[1]=4;a[2]=5;a[3]=9,n=4
sum=(a[0]+a[1])*(n-1)+a[2]*(n-2)+a[3]*(n-3);
从这个表达式可以看出,从第一项到最后一项的系数递减
所以大数放到前面的值是最大的。
忘至白葬不情必0T
2011-11-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
我感觉按重量从高到低依次合并就是最大得分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式