回 帖 发 新 帖 刷新版面

主题:[讨论]求一个满足要求的组合问题

在下列一组数中
{45,411,98,157,62,98,225,14}要求求出它们中的一个,两个,三个,到最大组合满足条件的算法。条件385<sun<498//sum为他们中的一个或两个或三个…的和
只要他们中有满足条件的就输出,不管是一个数,还是两个…的组合

回复列表 (共2个回复)

沙发

给你个思路吧
先取单个循环,把符合条件的数找出来,第一次应该只有411符合;
再取两个循环,把符合条件的数找出来,如:45+411;411+62;411+14...
再取三个循环,把符合条件的数找出来,如:45+98+225;45+157+225...
依次类推,而由最小的数组合满足条件的是:14+45+62+98+98+157,所以取完六个循环就可以结束了,
我这是比较笨的思路拉,不过目前能想到的思路也就这了

板凳

对了,可以先排下序,如:{411,225,157,98,98,62,45,14}
这样当取单个循环时,取到225,判断225不符合条件,后面的几个就可以break了
同理,取两个循环时,411+14;411+45;411+62符合,而411+98不符合,break掉
以此类推

我来回复

您尚未登录,请登录后再回复。点此登录或注册