zoukankan      html  css  js  c++  java
  • lightoj-1182

    1182 - Parity
    PDF (English) Statistics Forum
    Time Limit: 0.5 second(s) Memory Limit: 32 MB
    Given an integer n, first we represent it in binary. Then we count the number of ones. We say n has odd parity if the number of one's is odd. Otherwise we say n has even parity. 21 = (10101)2 has odd parity since the number of one's is 3. 6 = (110)2 has even parity.

    Now you are given n, we have to say whether n has even or odd parity.

    Input
    Input starts with an integer T (≤ 1000), denoting the number of test cases.

    Each case contains an integer n (1 ≤ n < 231).

    Output
    For each case, print the case number and 'odd' if n has odd parity, otherwise print 'even'.

    Sample Input
    Output for Sample Input
    2
    21
    6
    Case 1: odd
    Case 2: even

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    
    int counter(int num){
        
        int a = 0x55555555;
        int b = 0x33333333;
        int c = 0x0f0f0f0f;
        int d = 0x00ff00ff;
        int e = 0x0000ffff;
        num = (num&a)+((num>>1)&a);
        num = (num&b)+((num>>2)&b);
        num = (num&c)+((num>>4)&c);
        num = (num&d)+((num>>8)&d);
        num = (num&e)+((num>>16)&e);
        return num;
    }
    
    int main(){
        
        int T,n;
        scanf("%d",&T);
        for(int t=1;t<=T;t++){
            scanf("%d",&n);
            printf("Case %d: ",t);
            printf(counter(n)%2==0?"even
    ":"odd
    ");
        }
        
        return 0;
    } 
    View Code
  • 相关阅读:
    第10组 Beta冲刺 (3/5)
    第10组 Beta冲刺 (2/5)
    第10组 Beta冲刺 (1/5)
    第10组 Alpha冲刺 (3/6)
    第10组 Alpha冲刺 (2/6)
    第10组 Alpha冲刺 (1/6)
    第一次作业
    第二次作业
    机器学习_第一次个人作业
    软工实践个人总结
  • 原文地址:https://www.cnblogs.com/yuanshixingdan/p/5561135.html
Copyright © 2011-2022 走看看