본문 바로가기
SWE/코테

[성실코딩 33일차] 백준 #3460 이진수

by S나라라2 2018. 12. 13.
반응형

엄청 쉽다. 


나는 그냥 %2를 해서 나머지가 1일 때 해당 index를 출력해주도록 하였는데


사실 bitmask를 사용하면 더 좋은 문제같다!

숫자 n & (1<<i)를 and연산을 해서 1일 경우 해당 자리수(i)를 출력하면 된다.


c++ 구현코드

#include < iostream >

using namespace std;

int main(void) {

	int tc;
	cin >> tc;
	for (int i = 0; i < tc; i++) {
		int n;
		cin >> n;

		int idx = 0;
		while (n > 0) {
			if(n % 2 == 1) {
				cout << idx << ' ';
			}
			n = n / 2;
			idx++;
		}
		cout << endl;
	}

	return 0;
}




반응형