作业帮 > 综合 > 作业

一道C++题Given a positive integer n, find the positions of all

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/10 20:49:31
一道C++题
Given a positive integer n, find the positions of all 1's in its binary representation. The position of the least significant bit is 0.
Example
The positions of 1's in the binary representation of 13 are 0, 2, 3.
Task
Write a program which for each data set:
reads a positive integer n,
computes the positions of 1's in the binary representation of n,
writes the result.
Input
The first line of the input contains exactly one positive integer d equal to the number of data sets, 1 ≤ d ≤ 10. The data sets follow.
Each data set consists of exactly one line containing exactly one integer n, 1 ≤ n ≤ 106.
Output
The output should consists of exactly d lines, one line for each data set.
Line i, 1 ≤ i ≤ d, should contain increasing sequence of integers separated by single spaces - the positions of 1's in the binary representation of the i-th input number.
Do not output any spaces in the end of a line.
Sample Input
1
13
Sample Output
0 2 3
一道C++题Given a positive integer n, find the positions of all
#include
using namespace std;
int main(){
int n,m;
cin>>n;
int *num = new int[n];
for(int i=0;i>m;
num[i]=m;
}
for(int i=0;i1){
if(num[i]%2==1){
cout