C++ 形成给定数字的可能组合

C++ 形成给定数字的可能组合,c++,C++,如何检查给定的数字是否可以由给定数字列表的正整数组合形成 例如,如果编号列表为, 5 3 9 及 那么13可以由,5*2+3构成。这可能的算法是什么?这不是一个硬件问题。这是在我正在准备的一次采访中被问到的。请帮忙 几十年前,我为六位数字的组合(倒计时数字游戏)做了这个。如果这组数字在一个全局数组中,那么在每个递归过程中只需传递一个整数索引,该索引描述了到目前为止所检查的数组的长度 一种算法是:生成所有可能的排列,并对每个排列求值。2不在您给出的列表中。递归生成所有数字和运算符的组合相当容易。当

如何检查给定的数字是否可以由给定数字列表的正整数组合形成

例如,如果编号列表为, 5 3 9


那么13可以由,5*2+3构成。这可能的算法是什么?这不是一个硬件问题。这是在我正在准备的一次采访中被问到的。请帮忙

几十年前,我为六位数字的组合(倒计时数字游戏)做了这个。如果这组数字在一个全局数组中,那么在每个递归过程中只需传递一个整数索引,该索引描述了到目前为止所检查的数组的长度

一种算法是:生成所有可能的排列,并对每个排列求值。2不在您给出的列表中。递归生成所有数字和运算符的组合相当容易。当一个结果匹配时,打印出来。这个问题似乎与C++(或任何其他编程语言)无关。在上发布,然后根据答案尝试实现它。如果到那时你有任何具体的(编程)问题,在这里发表。@Oliver,我该怎么做?因为数字也可以乘以任何正常数。
13