编程题
二进制数
## 来源
Central Europe 2001, Practice (ZOJ1383)
## 题目描述
给定一个正整数n,要求输出对应的二进制数中所有数码"1"的位置。注意最低位为第0位。例如13的二进制形式为1101,因此数码1的位置为:0,2,3。
## 输入描述
输入文件的第1行为一个正整数d,表示测试数据的个数,1≤d≤10,接下来有d个测试数据。每个测试数据占一行,只有一个整数n,1≤n≤10^6。
## 输出描述
输出包括d行,即对每个测试数据,输出一行。第i行,1≤i≤d,以升序的顺序输出第i个测试数据中的整数的二进制形式中所有数码"1"的位置,位置之间有1个空格,最后一个位置后面没有空格。
## 样例输入
```txt
2
13
127
```
## 样例输出
```txt
0 2 3
0 1 2 3 4 5 6
```
## 提示
(1) 对输入的整数n,依次用2去整除,用变量pos充当计数器(代表二进制的位),如果得到的余数为1,则输出pos,否则不输出;pos的初值为0,每次将n除以2后,pos自增1。
(2) 输出时要求每两个位置之间有1个空格。解决方法是在第1个位置之前不输出空格,然后在接下来的所有数码"1"的位置之前输出一个空格,详见4.6.2节。