标签:style blog class code tar color
来源:点击打开链接
可以模拟过,不过练习这个题的目的是学习stl中的bitset,一个神奇的二进制容器.
和vector/MAP等容器一样,bitset具备stl库函数的几乎所有特性,同时加入了一些自己的东西,对二进制处理十分便利,尤其是在找零和找一的方面.
ps:遍历的话,bitset默认是从后往前遍历的.所以不要自己再倒过来了.
一些库函数及用法的实例:
典型的bitset初始化示例
bitset对象常用操作
#include <iostream>
#include <cstring>
#include <cmath>
#include <string>
#include <cstdlib>
#include <bitset>
using namespace std;
int main()
{
int testcase;
int counter=1;
while(cin>>testcase)
{
if(testcase==0)
break;
cout<<"Answer to case"<<counter++<<":"<<endl;
for(int i=1; i<=testcase; i++)
{
int tar;
int lastdigit;
int conv;
cin>>tar;
bitset<32> pack(tar);
//cout<<pack<<endl;
for(int i=0; i<pack.size(); i++)
{
if(pack[i]==1)
{
pack[i]=0;
break;
}
}
//cout<<pack<<endl;
int res=pack.to_ulong();
cout<<tar-pack.to_ulong()<<endl;
}
cout<<endl;
}
return 0;
}
[bitset用法]SDUT 2841 Bit Problem,布布扣,bubuko.com
[bitset用法]SDUT 2841 Bit Problem
标签:style blog class code tar color
原文地址:http://blog.csdn.net/mig_davidli/article/details/25004651