题意:给出n和k,确定C(n, k)的奇偶性
题解:只要算出分子分母中各自包含的质因数2的个数,如果分子的大于分子,就是偶数,反之则是奇数。
以下摘自网络:
根据【数学通讯(2006年第一期)】“二项式系数奇偶性的判定准则”:
C(n,k)(k<=n)的奇偶性取决于(n-k)与k的二进制表达式是否存在同一位上的两个数码均为1,若存在,则为偶数,反之为奇数
代码实现:
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std; 5 int main() 6 { 7 int n,k; 8 while(~scanf("%d%d",&n,&k)) 9 { 10 printf("%d\n",k&(n-k)?0:1); 11 } 12 return 0; 13 }