끄적끄적 코딩
article thumbnail
Published 2019. 9. 23. 08:30
[C++] 백준 3460번 이진수 알고리즘

비트마스크 문제입니다.

num & * (1 << i)를 통해서 각 위치에 1이 있는지 확인합니다. (AND연산)

#include <iostream>
#include <bitset>
using namespace std;

int main(int argc, char *argv[])
{
	int ts;
	int num;

	cin >> ts;

	while (ts--) {
		cin >> num;
		for (int i = 0; i < 30; i++) {
			if (num & (1 << i)) {
				cout << i << ' ';
			}
		}
	}

	return 0;
}

검색 태그