问题:输出和为n的所有和式,不可有重复式。
(此为完全背包问题,采用容易理解的回朔递归法。
同类的问题是:找零钱问题。)
此问题最先想到的是组合:1到n-1的数求组合,和为n的式子。但是每个数字的个数可以多个,而且有限制,这就等同于完全背包了。
组合问题与背包问题的关系:
1.无重复元素的集合的组合--01背包:在每个搜索点(每个元素)只考虑数字的有无。
2.有重复元素的集合组合---完全背包:在每个搜索点(每个元素)考虑数字的个数。
想到有重复数字排列的问题。
问:求1231428的全排列。
以第一步为例:将1和后边的每一个数字交换,进入后边字串的排列问题中。但是不能与相同的数字交换。