2진수에 관한 문제이다.
방법
2진수를 구하는 함수를 구현하여 2진수를 받아오고, 1의 자리수만 추출하여 출력해줍니다.
#include<bits/stdc++.h>
using namespace std;
vector<int> change(int n){
vector<int> v;
int b = 2;
while (n > 1){
v.push_back(n % b);
n /= b;
}
if(n==1) v.push_back(1);
return v;
}
int main(){
vector<vector<int>> ans;
int t, n;
cin >> t;
for(int i = 0; i < t; i++){
cin >> n;
vector<int> v = change(n);
for (int j = 0; j < v.size(); j++){
if(v[j] == 1){
cout << j << " ";
}
}
cout << "\n";
}
}