BOJ
[BOJ] 3460번 - 이진수
곰제비
2022. 6. 14. 14:12
<접근 방식>
주어진 10진수를 2진수로 나타내어 1의 위치를 표시하는 문제이다.
%와 / 연산자를 통해 이진수를 구하고 1인 경우만 출력해주도록 한다.
테스트 케이스마다 자리를 표시하는 count를 0으로 초기화해야 한다.
<전체 코드>
#include <iostream>
using namespace std;
int T, n, num;
int main()
{
cin.tie(0);
ios_base::sync_with_stdio(false);
cin >> T;
while (T--) {
cin >> n;
int count = 0;
while (n > 0) {
num = n % 2;
n /= 2;
if (num == 1)
cout << count << " ";
count++;
}
}
}
<문제 링크>
https://www.acmicpc.net/problem/3460
3460번: 이진수
양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다.
www.acmicpc.net