加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

UVA 11933 I Splitting Numbers

(2011-03-01 16:29:53)
标签:

uva

11933

i

splitting

numbers

it

分类: 杂题
题目描述:
这题考点就是题目描述,水题,不解释。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    int n;
    int cnt, ans[100];
    while(scanf("%d", &n) && n)
    {
        cnt = 1;
        int tmpcnt = 0;
        while(n)
        {
            int tmp = n % 2;
            if (tmp == 1) ans[cnt++] = tmpcnt;
            n /= 2;
            tmpcnt++;
        }
        int a = 0, b = 0;
        for(int i = 1; i < cnt; i+= 2)
            a |= (1 << ans[i]);
        for(int i = 2; i < cnt; i+= 2)
            b |= (1 << ans[i]);
        printf("%d %d\n", a, b);
    }
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有