二进制中1的个数

来源:互联网 发布:整形医院网络咨询收入 编辑:程序博客网 时间:2024/05/18 00:13
圆周率用acos(-1.0) 使用longlong
Time Limit:500MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu
Submit Status Practice LightOJ 1182 uDebug

Description

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 36 = (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

2

21

6

Sample Output

Case 1: odd

Case 2: even

12345678910111213141516171819202122232425262728
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){int t,k=1;long long n;scanf("%d",&t);while(t--){scanf("%lld",&n);printf("Case %d: ",k++);long long sum=0;while(n){long long s=n%2;if(s==1)    sum++;    n=n/2;}if(sum%2==0)printf("even\n");elseprintf("odd\n");}return 0;}


0 0