【发布时间】:2017-07-13 03:20:18
【问题描述】:
我有一个更大的编程问题,需要我首先能够判断一个数组是否包含任何可以加起来达到目标值的元素组合。
我拥有的函数必须有以下标题:
bool sumCombination(const int a[], int size, int target);
函数必须使用递归,并且不能在其中任何地方使用任何 for 循环、while 循环或单词“goto”。此外,我不能使用任何辅助函数。
该函数如何工作的一些示例如下:
sumCombination([2, 4, 8], 3, 10) => true
sumCombination([2, 4, 8], 3, 12) => true
sumCombination([2, 4, 8], 3, 11) => false
sumCombination([], 0, 0) => true
我不知道如何使用递归来解决这个问题,我曾与之合作过的每个人都告诉我,在给定的参数范围内似乎是不可能的。我已经使用循环解决了这个问题。但是,我试图完全通过递归来解决这个问题,而不使用任何循环。
如果有人能帮助我理解这个问题背后的逻辑,我将非常感激!
提前谢谢你!
【问题讨论】:
标签: c++ arrays function recursion