C语言:给定一个数组,求和为定值的组合的个数(不限组合内的数字个数)怎么解决?

问题在于只用C语言,递归和回溯都不太懂,希望给个大概的思路,初学语言,谢谢了!

最简单的就是递归,可是递归你又不懂。递归都不懂,那你几乎和不会写程序也没区别了,那怎么和你解释呢。

花10分钟时间,就能把递归搞清楚。给你的思路就是磨刀不误砍柴工

还是递归方便点,不过也可以用循环实现,大致就是暴力枚举,看是否符合要求,如果一组枚举过程中发现累加的值大于给定的值那这种情况后面的就不必继续了。

可以用搜索算法 但是非常耗费时间 这道题目对时间有要求吗

这应该类似于完全背包问题,你百度完全背包。或者看我博客,有一篇动态规划相关文章。