【发布时间】:2014-05-21 19:47:45
【问题描述】:
我正在寻找一种可以帮助我解决这个问题的算法:
我需要创建一个系列,它将告诉我如何通过将数组中的数字与整数相乘来获得数字(输入)(可用于构建数字)。
让我们以数字“4”为例。将数组视为 [3,2]
所以算法应该给出一个输出为 0x3+2x2=4。
(我认为我的主要问题是当我创建输出时我看到 4 > 3 所以我的输出数组以 [1,..] 开头,这不能再工作了。)
【问题讨论】:
-
还有哪些其他限制?他们可以是消极的吗?它们必须是整数吗?
-
数组中只有正整数,只需要构建正整数
-
对于给定约束的一般情况,这是不可能的。考虑目标 3 和输入 [2, 4]。没有可以满足
2x + 4y = 3的系数。一般来说,如果输入数组的最大公分母除以目标数,则可能有一个解决方案,通过欧几里得算法计算将是微不足道的。更具体地说,如果输入数组中有两个互质整数,则所有整数都有一个有效解。