读书人

ZOJ-1383 二进制觅1

发布时间: 2012-10-24 14:15:58 作者: rapoo

ZOJ-1383 二进制找1
1383: 给一整数,输出二进制下1的位置。
The position of the least significant bit is 0

Sample Input

1
13


Sample Output

0 2 3


由于从最小端开始逆序输出,因此采用取模的方法。
由于不知道最后一位什么时候输出,因此空格放在头部判断。

#include<stdio.h>#include<iostream>using namespace std;int main(){int d;int n;int pos=0;bool ishead=true;cin>>d;for(int i=0;i<d;i++){cin>>n;ishead=true;pos=0;while(n){if(n%2==1){if(ishead)ishead=false;elsecout<<" ";cout<<pos;}n/=2;pos++;}cout<<endl;}}

读书人网 >编程

热点推荐