方法一:
計算一下,然後看它的奇偶性;但是這個時間以及數據範圍上都不允許;
方法二
對於給定C(n,m),檢查n!中2因子的個數與m!和(n-m)!中2因子個數和的關係,假設n!中2因子個數爲a,m!中2因子個數爲b,(n-m)!中2因子個數爲c,則顯然有a>=(b+c);並且當a==b+c時,一定爲奇,否則爲偶。
方法三
由方法2可以很容易(稍後給出證明)地看出,n!中含有2因子的個數等於(n-它的二進制形式中1的個數)(每除一次如果有1的話去掉一個1)。那麼題意再次轉化爲求m,n-m以及n的二進制形式中1的個數。或者說,看n&m ?= m,這個呢,如果等於,那麼也就意味着,所有m中爲1的位置n一定爲1,那麼n-m就可以直接用二進制減,這樣得到的差的二進制中1的個數加上m中二進制1的位數正好等於n中1的位數,由前面可以知道,這就是一個奇數。
【關於方法三的證明】
先證明,若,n!中2因子的個數爲(即)
首先我們知道一個計算n!中2因子個數的方法
那麼由於此時的,上述式子就是一個等比數列,求和可得
推廣到更普遍的情況
那麼我們肯定可以將n拆做:
將(2)代入(1)中,再次由等比數列求和,可得
然後打開括號~
完事兒
特別感謝stO ldx&cyk Orz