(1+x)^n
Time Limit: 2 Seconds Memory Limit: 65536 KB
Please calculate the coefficient modulo 2 of x^i in (1+x)^n.
Input
For each case, there are two integers n, i (0<=i<=n<=2^31-1)
Output
For each case, print the coefficient modulo 2 of x^i in (1+x)^n on a single line.
Sample Input
3 1
4 2
Sample Output
1
0
也就是将(1+x)的n次幂展开,在展开式中的每一次项寻找x的i次幂的那一项,然后再让这一项的系数%2(模2),
对于组合数C(n,m),如果(n&m)==m,那么该组合数是奇数,否则为偶数。
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int n,i;
while(scanf("%d%d",&n,&i) != EOF){
printf("%d\n",n&i%2);
}
}