将正整数n表示成一系列正整数之和,n=n1+n2+...+nk,其中n1>=n2>=...>=nk>=1,k>=1.
正整数n的不同划分个数称为n的划分数.如6有11种不同的划分.
6;
5+1
4+2,4+1+1;
3+3,3+2+1,3+1+1+1;
2+2+2,2+2+1+1,2+1+1+1+1;
1+1+1+1+1+1.
对于这种问题,小陈就去找规律,终于他发现有这些规律:
f(n,m) = 1 ; (m=1或n=1)
f(n,m)=f(n,n) ; (n<m)
f(n,m)=1+f(n,m-1) ; (n=m!=1)
f(n,m)=f(n,m-1)+f(n-m,m) ; (n>m>=1)
n是指被划分的数,m是指划分中出现的最大数。如f(6,2)=4,具体划分是:2+2+2,2+2+1+1,2+1+1+1+1,1+1+1+1+1+1。
可是他不懂得编程,这怎么办,很抓狂。只能怪他平时不好好学编程,他只好求助你们。
输入有若干行,每行一个正整数n.
对应输出n划分的个数.
6 3
11 3