我想开发一个优化功能,将确定哪些元素列表中的双打时加在一起将小于指定的阈值。元素可以多次使用。功能来确定组合的值是小于一个阈值
例如,如果我的元素列表
{1,3,7,10}
,我的阈值是20我希望我的结果是
1
3
7
10
10, 10
10, 7
10, 7, 3
10,7,1
10,7,1,1
10,7,1,1,1
7,7
7,7,3
7,7,1
7,7,1,1
7,7,1,1,1
...
我想到的是,这个问题的答案可能会是一个递归调用,也许可以在教科书中找到,但我不知道如何恰当地将问题短语找出答案。将不胜感激这一组专家的帮助。
Nitpickers角落:你有一个整数有一个列表... – Oded
貌似[背包问题(http://en.wikipedia.org/wiki/Knapsack_problem),或它的变化... –
@Thomas感谢您的链接,我怀疑这不是第一次有人遇到这个问题 – DarwinIcesurfer