본문 바로가기

코딩테스트/C++

백준 - 3460 c++

www.acmicpc.net/problem/3460

 

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