learning
方法一:
計算一下,然後看它的奇偶性;但是這個時間以及資料範圍上都不允許;
方法二對於給定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
mn=2^m
n=2m
,n!中2因子的個數為n−1
n-1n−
1(即2m−
12^m-1
2m−1
)首先我們知道乙個計算n!中2因子個數的方法
a ns
=[n/
(21)
]+[n
/(22
)]+[
n/(2
3)]+
...−
−(1)
ans=[n/(2^1)]+[n/(2^2)]+[n/(2^3)]+...--(1)
ans=[n
/(21
)]+[
n/(2
2)]+
[n/(
23)]
+...
−−(1
)那麼由於此時的n=2
mn=2^m
n=2m
,上述式子就是乙個等比數列,求和可得ans
=2m−
1ans=2^m-1
ans=2m
−1推廣到更普遍的情況n!=
2m
n!=2^m
n!=2
m那麼我們肯定可以將n拆做:n=2
x1+2
x2+2
x3+.
....
+2xm
−−(2
)n=2^+2^+2^+.....+2^--(2)
n=2x1+
2x2+
2x3+
....
.+2x
m−−(
2)將(2)代入(1)中,再次由等比數列求和,可得ans
=(2x
1−1)
+(2x
2−1)
+(2x
3−1)
+...
.+(2
xm−1
)ans=(2^-1)+(2^-1)+(2^-1)+....+(2^-1)
ans=(2
x1−1
)+(2
x2−1
)+(2
x3−1
)+..
..+(
2xm−
1)然後開啟括號~
完事兒特別感謝sto ldx&cyk orz
組合數奇偶性判定方式
結論 對於c n,k 若n k k 則c n,k 為奇數,否則為偶數。證明 組合數的奇偶性判定方法為 公式p是指排列,從n個元素取r個進行排列 即排序 p是舊用法,現在教材上多用a,arrangement 公式c是指組合,從n個元素取r個,不進行排列 即不排序 組合數的奇偶性判定方法為 結論 對於c...
1085 判斷奇偶性
判斷奇偶性 time limit 1000ms memory limit 65536k total submit 128 accepted 58 description 計算乙個無符號整數x的二進位制中1的個數是奇數還是偶數。input 多組測試資料。每組測試資料報括乙個無符號整數n 0 n 2 3...
wikioi 2145 判斷奇偶性
題目描述 description 判斷函式y x n次方的奇偶性若是奇函式就輸出ji,偶函式輸出ou 輸入描述 input description 一行輸入n 輸出描述 output description 一行,輸出答案 樣例輸入 sample input 樣例輸出 sample output o...