说明:
整数的拆分: N的整数的拆分是总和等于N的若干正整数的无序多重集。
例如:5有7种整数拆分法:(5),(4,1),(3,2),(3,1,1),(2,2,1),
(2,1,1,1)和(1,1,1,1,1)。
给它计数的最简单方法是定义函数f(N,K),代表N的整数拆分中,最大项不超过K的方案数。
因此,有递推关系式:
f(N,K)= f(N-K,K)+ f(N,K-1)
边界条件(递归出口)有:
f(N,1)=1,f(0,0)=1和f(N,K)= f(N,N)(当K>N)。
根据FERRERS图的研究可以得到以下两个:
l 一个整数N拆分成恰好为K部分的拆分数,等于这个整数拆分成最大部分为K的拆分数。
l 一个整数N拆分成最多有K部分的拆分数,等于这个整数拆分成每一部分都不超过K的拆分数。
因此,上面的题目就容易解了。