递归表达式
题目
这里的难点就是 q(n,m)=q(n,m-1)+q(n-m,m)
我们可以先看一下递归树,然后解释为什么要q(n,m)=q(n,m-1)+q(n-m,m)是如何进行分解的
以q(3,2)为例子,我们人肉可以得出q(3,2)为如下:
1+1+1,
2+1
我们可以将问题分解为q(3,1)和q(1,2)。q(3,1)很好理解,就是n个数相加的时候,最大数不超过1,但是我们可以发现这个子问题的边界不包括最大边界为2的数,因此就有了q(1,2),此时的边界是包括2的,即是{m,{x1,x2…}},我们此时只要求出{x1,x2…}的个数即可,此时调用一次即只含有一个2,多多次调用直到满足条件,对于{x1,x2…}便是反复调用进行求解。