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 |