ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

判断组合数奇偶

2022-08-31 13:33:23  阅读:215  来源: 互联网

标签:奇偶 cnt 判断 frac 组合 个数 13 因子 +...


结论

先说结论
对于组合数\(C^k_n\),若n&k==k,则其为奇数,否则,其为偶数。

证明

\(C^k_n=\frac{n!}{k!(n-k)!}\)
我们用a表示n!中因子2的个数
b表示k!中因子2的个数
c表示(n-k)!中因子2的个数
显然有\(a\ge b+c\)(因为\(C^k_n\)一定为整数),如果a==b+c,那么\(C^k_n\)一定为奇数,若a>b+c\(,C^k_n\)为偶数

而n!中因子p(p为质因数)的个数为\([\frac{n}{p}]+[\frac{n}{p^2}]+[\frac{n}{p^3}]...\)
[]表示向下取整。

假设n=13,p=2
13/2=6,那么2,4,6,8,10,12共6个数能提供1个因子2
13/4=3,那么4,8,12,共3个数能提供2个因子2
13/8=1,那么8能提供3个因子2
13/16=0
6+3+1=10即可得到13!中因子2的个数

假设\(n=2^m\),及n为2的幂次方,那么n!中因子2的个数为\([\frac{2^m}{2}]+[\frac{2^m}{2^2}]+...\)
上式是一个等比数列,求和的结果为\(2^m-1=n-1\)

再来看当\(n!=2^m\)那么可以将n拆成2的幂次方之和(二进制),\(n=2^{x_1}+2^{x_2}+...\)
将上式带入即 \([\frac{2^{x_1}+2^{x_2}+...}{2}]+[\frac{2^{x_1}+2^{x_2}+...}{2^2}]+...=[\frac{2^{x_1}}{2}]+[\frac{2^{x_1}}{2^2}]+...+[\frac{2^{x_2}}{2}]+[\frac{2^{x_2}}{2^2}]...=2^{x_1}-1+2^{x_2}-1...=n-cnt\)
cnt表示n中二进制为1的个数

那么现在,若n&k==k,即k中二进制为1的位在n中也为1,现在令cnt(x)表示x中二进制为1的位数,则有cnt(n-k)=cnt(n)-cnt(k),带入上面推出来的结论就有\(a==b+c\)
反之,若n&k!=k,则\(cnt(n-k)!=cnt(n)-cnt(k)\)(这里还没想到好的证明方法,反正由于借位二进制为1的个数肯定会发生变化,那么就不相等了),即\(a!=b+c\)

标签:奇偶,cnt,判断,frac,组合,个数,13,因子,+...
来源: https://www.cnblogs.com/hetailang/p/16632644.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有