3460번: 이진수
양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다.
www.acmicpc.net
#include <iostream>
using namespace std;
int main() {
int T,n,cnt=0;
cin >> T;
for (int i = 0; i < T; i++) {
cnt = 0;
cin >> n;
while (1) {
if (n % 2 == 1) {
cout << cnt << " ";
}
n /= 2;
cnt++;
if (n == 0) break;
}
}
return 0;
}
'코딩테스트 > C++' 카테고리의 다른 글
백준 - 10870 c++ (0) | 2021.03.30 |
---|---|
백준 - 2460 c++ (0) | 2021.03.30 |
백준 - 10818 c++ (0) | 2021.03.30 |
백준 - 2501 c++ (0) | 2021.03.30 |
카카오 코딩테스트 - 압축 (0) | 2021.03.29 |