#include <iostream> using namespace std; int main() { int N; scanf("%d",&N); for (int Cnt = 1; Cnt <= N; ++ Cnt) { int n; scanf("%d",&n); char buf[50] = {0}; if (n == 0) { printf("Case #%d: 0/n",Cnt);continue;} int iTemp = n > 0 ? n : (-n),i = 0; while (iTemp) { buf[i++] = iTemp % 2+'0'; iTemp >>= 1; } int carry = 0,index,j; index = n > 0 ? 1:0; for (j = index; j < i;++j) { int temp = carry; //改变进制的时候不设置临时变量容易出错 carry = (buf[j] -'0'+temp)/2; buf[j] = (buf[j] -'0'+temp)%2 + '0'; if (j % 2 == index && buf[j] == '1') carry++; } if (carry) { if (j % 2 == index) buf[j++] = '1',buf[j++] = '1'; else buf[j++] = '1'; } printf("Case #%d: ",Cnt); for (--j; j >= 0; --j) putchar(buf[j]); putchar('/n'); } return 0; }