1030: 牛人题目(位运算二)——Power OJ

Description
The binomial coefficient C(n, k) has been extensively studied for its importance in combinatorics. Binomial coefficients can be recursively defined as follows:

C(n, 0) = C(n, n) = 1 for all n > 0;
C(n, k) = C(n − 1, k − 1) + C(n − 1, k) for all 0 < k < n.

Given n and k, you are to determine the parity of C(n, k).
Input
The input contains multiple test cases. Each test case consists of a pair of integers n and k (0 ≤ k ≤ n < 2^31, n > 0) on a separate line.

End of file (EOF) indicates the end of input.
Output
For each test case, output one line containing either a “0” or a “1”, which is the remainder of C(n, k) divided by two.
Sample Input
Raw

1 1
1 0
2 1
Sample Output
Raw

1
1
0


题意:给一个组合数C(n,k),判断是奇数还是偶数。
解题思路:C(n,k)(n>=k) N&k==k 为奇数,否则为偶数.

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    long long n,k;//不用long long要mle
    while(scanf("%lld%lld",&n,&k)!=EOF){
        if((n&k)==k)
            printf("1\n");
        else
            printf("0\n");
    }
    return 0;
}

发布了36 篇原创文章 · 获赞 10 · 访问量 1921

猜你喜欢

转载自blog.csdn.net/weixin_44003265/article/details/98884235
OJ