본문 바로가기
문제 해결/BaekJoon

[백준] [C++] 3460번 이진수

by WSLim_97 2023. 1. 6.
반응형

https://www.acmicpc.net/problem/3460

 

3460번: 이진수

양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다.

www.acmicpc.net


코드

#include <iostream>
using namespace std;

int main()
{
	long long t, n;
	cin >> t;

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

		while (n != 0)
		{
			if (n % 2 == 1)
				cout << j << " ";
			n /= 2;
			j++;
		}
		cout << endl;
	}

	return 0;
}

풀이

양의 정수 n이 주어졌을 때 이진수로 변환한 n에서 1의 위치를 모두 찾아 출력하는 문제이다.

반응형