在以前作過的題目裏面,出現了不少關於楊輝三角的題目,不少時候都會聯繫到組合數的性質看。這裏就來講明如何判斷組合數的奇偶並證實。
咱們知道組合數能夠表示爲\[C_n^m=\frac{n!}{m!(n-m)!}\]
如今假設\(n!,m!,(n-m)!的2的因子個數分別爲A,B,C\)。
顯然組合數爲奇數當且僅當A=B+C。
那a和n!到底有什麼關係呢?
其實,對於一個質數p,它在n!的因子個數是
\[\lfloor\frac{n}{p}\rfloor+\lfloor\frac{n}{p^2}\rfloor+\lfloor\frac{n}{p^3}\rfloor+\lfloor\frac{n}{p^4}\rfloor+......\]
所以對於\(n!\)來講它2的因子個數(用\(f(n)\)表示)就是
\[f(n)=\lfloor\frac{n}{2}\rfloor+\lfloor\frac{n}{2^{2}}\rfloor+\lfloor\frac{n}{2^3}\rfloor+\lfloor\frac{n}{2^4}\rfloor+......\]
而後對於n來講,它能夠表示爲\[n=(a_1*2^0)+(a_2*2^1)+(a_3*2^2)+......\]
知道這個以後咱們能夠把\(f(n)\)的每一項再進一步化簡(下面的\(k\)爲n的二進制位數)
\[f(n)=\sum_{y=1}^k\lfloor\frac{(a_1*2^0)+(a_2*2^1)+...+(a_k*2^{k-1})}{2^y}\rfloor\]
\[=\sum_{y=1}^k\frac{(a_{y+1}*2^{y})+...+(a_k*2^{k-1})}{2^y}\]
\[=\sum_{y=1}^k\sum_{x=y+1}^k\frac{a_x*2^{x-1}}{2^y}\]
\[=\sum_{x=1}^ka_x\sum_{y=0}^{x-2}{2^y}\]
\[=\sum_{x=1}^ka_x*(2^{x-1}-1)\]
\[=\sum_{x=1}^k{a_x*2^{x-1}}-\sum_{x=1}^k{a_x}\]
\[=n-\sum_{x=1}^k{a_x}\]
化簡以後咱們在觀察等式後面的求和發現
\[n在二進制下1的個數=\sum_{x=1}^k{a_x}\]
所以\(n!\)在二進制下2因子的個數等於n減去其二進制下1的個數。
而組合數爲奇數當且僅當A=B+C
而n,m,(n-m)在二進制下1的數目分別爲a,b,c
因此
\[n-a=m-b+(n-m)-c\]
\[a=b+c\]
而要這個條件知足顯然當且僅當
\[n\&m==m\]spa