首页 > 代码库 > 判断组合数C(N,K)的奇偶性

判断组合数C(N,K)的奇偶性

一、首先最直接的方法求组合数,判断,耗时太大。

二、C(N,K)=N!/(K!(N-K)!);假设N!中2因子个数为a,K!中2因子个数为b,(N-K)!中2因子个数为c,则只需求出a,b,c;

N!中,因子为i个数为N/i+N/i^2......+N/i^k (其中,i^k<N,i^(k+1)>=N);

接下来若a>b+c,则组合数位奇数,a=b+c,组合数为偶数;

三、对于C(N,K),若N&K == K 则C(N,K)为奇数,否则为偶数。

 

判断组合数C(N,K)的奇偶性