在c++或Python中,用最少暴力的方法来查看一组数字中的多少组数字与给定的数字相加
Least brute force way to see how many groups of numbers in a group of numbers add to a given number in C++ or Python
标题可能有点模棱两可。
有一个给定的数。
存在一组小于给定数且大于0的数。
我想知道有多少种不同的相加组合等于给定的数字。
例如,给定的数字是14,集合中的数字是7,7,7,6,4和4。一共有4种组合。(7+ 7,7 + 7,7 + 7,6 +4+4)
我真的不在乎解决方案是什么语言,但我更喜欢c++或Python。
不要因为声称这是np完全的而气馁。@isbadawi链接的关于子集和的维基百科文章提到了David Pisinger教授1999年的一篇论文,其中的一种算法听起来似乎可以在线性时间内与你现有的约束条件一起工作:http://www.sciencedirect.com/science/article/pii/S0196677499910349。31.5美元,但如果你真的需要解决这个问题,这听起来很便宜。
相关文章:
- 在 c++ 中拥有一组结构的正确方法是什么?
- 有哪些有效的方法可以消除一组 100 万个字符串>重复数据?
- 程序以使用 C++ 中的 while 循环查找一组数字的最小值
- 如何检查cin是否与数组中的一组数字匹配
- C :优雅地迭代一组数字
- 测试结果乘加减除法可能为一组数字
- 将一组数字相加或相减以达到一个值
- 需要帮助找到一组数字的数量最多和最小数量
- 如何使用伪随机数生成器生成一组特定的数字
- 查找一组数据中的最小数字
- 对一组数字进行排序的最快数据结构(和排序算法)是什么
- 查找最窄区间的算法,其中 m 将覆盖一组数字
- C++,要求用户输入一组数字求和(未知的输入数量),但是数字不会加起来
- 从一组数字中找出最接近的三个数字值
- C++ 输出一组数字的总和和乘积
- 求一组数字的GCD
- 如何将一组动作应用于一组数字
- 类似于MS Excel中的图表功能,给定一组数字,生成数学方程来描述这组数字
- 从一组集合{{中选择一组数字{1,2,3}.},{.},{.}}使得所有元素都是唯一的
- 在c++或Python中,用最少暴力的方法来查看一组数字中的多少组数字与给定的数字相加