모름

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";
	}
}