HDOJ 1196 Lowest Bit
2014-06-12 13:49
309 查看
题目大意是给一个1-100的整数,要求首先转化成2进制,然后从最低位开始数起到不是0的位停止,输出这些位代表队额10进制数
#include <iostream> using namespace std; int bits[7]={1,2,4,8,16,32,64}; int judge(int a)//判断输入数据的范围 { if(a>=64) return 6; else if(a<64&&a>=32) return 5; else if(a<32&&a>=16) return 4; else if(a<16&&a>=8) return 3; else if(a<8&&a>=4) return 2; else if(a<4&&a>=2) return 1; else if(a<2&&a>=1) return 0; } int main() { int A; int i,j,state,result; cin>>A; while(A) { int flag[7]={0}; result=1; while(A) { state=judge(A); flag[state]=1; A=A-bits[state];//减去其最大的那个数,重新进行判断,类似于一个递归调用,直到为0即可结束 } for(i=0;i<7;i++) { if(flag[i]==1) break; } for(j=0;j<i;j++) result*=2; cout<<result<<endl; cin>>A; } }
相关文章推荐
- HDOJ 1196 Lowest Bit
- hdoj 1196 Lowest Bit
- Lowest Bit(hdoj1196)
- HDOJ 1196 Lowest Bit(树状数组实现)
- Hdoj 1196 Lowest Bit 【&】
- 【HDOJ】1196 -> Lowest Bit
- HDOJ 1196 Lowest Bit
- hdoj 1196 Lowest Bit
- HDOJ 1196 Lowest Bit(水题)
- hdoj.1196 Lowest Bit 20140815
- hdoj1196 Lowest Bit
- hdoj 1196 Lowest Bit(水题)
- 【HDOJ】1196 Lowest Bit
- Hdoj 1196 Lowest Bit
- hdoj 1196 Lowest Bit (二进制)
- hdoj 1196 Lowest Bit
- hdu 1196 Lowest Bit【位运算】
- hdu-1196 Lowest Bit
- HDU 1196 Lowest Bit
- HDU 1196 Lowest Bit (水)