[백준 알고리즘]/[C++]

3460번 이진수 | Baekjoon BOJ 백준 3460 C++ 코드, 해설, 풀이

말하는펭귄 2021. 1. 15. 20:59
728x90
반응형

 

 

 

이번 포스팅은 백준 3460번 이진수입니다.

아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.

www.acmicpc.net/problem/3460

 

3460번: 이진수

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

www.acmicpc.net

 

 

기본 알고리즘

%연산자 사용

n%2==1이면 해당 자릿수==1

 

 

 

 

 

전체 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//백준3460 이진수
 
#include <iostream>
using namespace std;
 
int main() {
    int T, n;
    cin >> T;
 
    while (T--) {
        cin >> n;
        int digit = 0;
        while (n > 0) {
            if (n % 2 == 1) {
                cout << digit << " ";
            }
            n /= 2;
            digit++;
        }
    }
}
cs

 

 

 

 

 

728x90
반응형