만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

-2진법 변환

면접 대비

시간 제한1초메모리 제한128 MB

요약
주어진 십진 정수를 앞에 0이 오지 않는 마이너스 2진 표현으로 변환해 출력합니다.
난이도

쉬움10점 중 3점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

자리 표기법에서 맨 오른쪽 자리의 자리값은 b0=1b^0 = 1이고, 왼쪽으로 한 칸 갈 때마다 밑 bb가 한 번 더 곱해져서 b1b^1, b2b^2, ... 로 커진다. 밑이 −2-2이면 자리값은 오른쪽부터 차례로 1,−2,4,−8,16,−32,…1, -2, 4, -8, 16, -32, \dots 이다. 그래서 1부터 하나씩 세어 올라가면 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 순서로 이어진다.

−2-2진법은 부호 비트를 따로 두지 않고 음수를 나타낸다. 십진수 NN을 −2-2진법으로 바꿔 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. TT는 양의 정수이고 T≤100000T \le 100000이다.

이어지는 TT개의 줄에 각각 정수 NN이 하나씩 주어진다. −1017≤N≤1017-10^{17} \le N \le 10^{17}이다.

출력

각 테스트 케이스마다 Case #x: M 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, MM은 NN의 −2-2진법 표현이다.

MM 앞에는 0을 붙이지 않는다. N=0N = 0이면 0만 출력한다.

예제1

  1. 예제 1

    입력
    15
    1
    -1
    2
    10
    0
    100
    -100
    50
    60
    1000
    -10000
    50000
    -25000
    12345
    -23456
    
    예상 출력
    Case #1: 1
    Case #2: 11
    Case #3: 110
    Case #4: 11110
    Case #5: 0
    Case #6: 110100100
    Case #7: 11101100
    Case #8: 1110110
    Case #9: 1001100
    Case #10: 10000111000
    Case #11: 10100100110000
    Case #12: 11100011101010000
    Case #13: 1110001110101000
    Case #14: 111000001001001
    Case #15: 1110010110100000