莫名其妙的发现
注意这个公式:
f(m,n)=(m−1)!1i=0∏m−2(n+i)
看上去有一种挺熟悉的感觉,但又说不上来。仔细想想…欸!当m=3时原式不就等于:
f(1,n)=2n(n+1)
这不正是我们的求和公示吗!嘶…可哪里会用到这么个式子呢?我们小学或初中时可能会接触到这么个三角形:
n=1
n=2 01m=1
n=3 01 01m=2
n=4 01 02 01m=3
n=5 01 03 03 01m=4
n=6 01 04 06 04 01m=5
n=7 01 05 10 10 05 01m=6
n=8 01 06 15 20 15 06 01m=7
01 07 21 35 35 21 07 01m=8
...
这便是大名鼎鼎的杨辉三角,当然还有一位叫**布莱士·帕斯卡 ** (Blaise Pascal)的伟大数学家从组合公式中发现的规律:
(kn)=kn⋅(k−1n−1)=n−kn⋅(kn−1)
∴
(k−1n−1)=nk⋅(kn),(kn−1)=nn−k⋅(kn−1)
可见:
(kn)=(k−1n−1)+(kn−1)
如果你有很好的递归直觉,便可得
(kn)={1,(k−1n−1)+(kn−1),if k=0 or k=notherwise
其中 (kn) 就是帕斯卡三角中第 n 行第 k 个数。
如下是数值版本的帕斯卡三角:
假设在(ji),(i > 1, j > 1)处∴(ji) = (j−1i−1) + (ji−1)即
f(i,j)=f(i−1,j)+f(i,j−1),(i>1,j>1)
f(i,j)=1,(i=1 or j=1)
∵
f(i,j−1)={1,f(i−1,j−1)+f(i,j−2)i=1 or j=1otherwise
以此类推直到j−n=2时,剩
f(i,j−n−1)=f(i−1,j−n−1)=f(i−1,1)
∴
f(i,j)=k=1∑j−1f(i−1,j−k)
而对于∑中的f(i−k,j−1)又可以用∑f(m,n)来表示,这样的话可能会有些棘手,所以我们可以换一种表达方式,
注意,
f(1,j)= 1f(2,j)= k=1∑jf(1,k)=1⋅j=jf(3,j)= k=1∑jf(2,k)=2(1+j)⋅j
对于 f(4,j) 可以将 f(3,j) 化简:
f(3,j)= 21j2+21jf(4,j)= k=1∑jf(3,k)=k=1∑j(21k2+21k)f(4,j)= 21k=1∑jk2+21k=1∑jkf(4,j)= 21⋅6j(j+1)(2j+1)+21⋅2j(j+1)f(4,j)= 6j(j+1)(j+2)
同样可得
f(5,j)=24j(j+1)(j+2)(j+3)
欸,好像有个规律!赶紧来证明一下,看一看帕斯卡三角:
(04)(03)(02)(14)(01)(13)(00)(12)(24)(11)(23)(22)(34)(33)(44)
每个元素 (kn) 表示帕斯卡三角第 n 行第 k 列的数。
可知
f(i,j)=(i−1i+j−1)
哈哈!我们惊喜地发现我们闹了一个笑话,推出了一个更复杂的公式。但是,不能说一点用没有,若我们对两边加上对数:
ln(f(m,n))=ln((m−1)!1i=0∏m−2(n+i)))ln(f(m,n))=ln((m−1)!1)+ln(i=0∏m−2n+i)ln(f(m,n))=−ln((m−1)!)+i=0∑m−2ln(n+i)ln(f(m,n))=i=0∑m−2ln(n+i)−i=1∑m−1ln(m−i)ln(f(m,n))=i=0∑m−2ln(n+i)−i=0∑m−2ln(m−i−1)ln(f(m,n))=i=0∑m−2ln(m−i−1n+i)f(m,n)=i=0∏m−2m−i−1n+i
∴
(m−1m+n−1)=i=0∏m−2m−i−1n+i
∴
(yx)=i=0∏y+1y−ix−y+i=i=0∏y+1(y−ix−1)
这样当面对对组合的拆解就不用害怕了。