10진수를 입력받아서 bin이라는 배열에 2진수 rev를 저장했습니다.

그리고 인덱스 0부터 접근하여 1인경우 출력했습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <cstdio>
 
int convert_bin(int dec, bool *bin)
{
    int i = 0;
 
    while(dec)
    {
        bin[i++= dec % 2;
        dec /= 2;
    }
 
    return i;
}
 
int main()
{
    int t;
    scanf("%d"&t);
    while(t--)
    {
        int dec;
        bool bin[21]; // 10^6까지이므로 2^20제곱과 비슷
 
        scanf("%d"&dec);
        int size = convert_bin(dec, bin);
 
        for(int i = 0; i < size; i++) if(bin[i]) printf("%d ", i);
        puts("");
    }
    return 0;
}
 
cs


'알고리즘 > 구현' 카테고리의 다른 글

[5624] 좋은 수  (0) 2017.04.06
[3190] 뱀  (0) 2017.04.05
[1952] 달팽이2  (0) 2017.04.04
[2745] 진법 변환  (0) 2017.04.02
[2399] 거리의 차이  (2) 2017.04.02

+ Recent posts