一、首先最直接的方法求组合数,判断,耗时太大。
二、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)为奇数,否则为偶数。
时间: 2024-10-13 11:05:52