Description
给你N个整数,对于每一个整数,输出它的2进制表示形式,8进制表示形式和16进制表示形式,且2进制必须以B结尾,8进制必须以0开口,16进制必须以H结尾(看样例)
Input
输入的第一行包含一个整数N(1<=N<=100), 接下来的N行,每行一个整数M(1<=M<=1000000)。
Ouput
对于给定的每个整数M,输出一样,分别为它的2、8、16进制表示形式,用空格隔开。
Sample Input
1
234
Sample Output
11101010B
0352
eaH
#includechar s[1000000];int s1[1000000];int fun(int n,int m){ int i=0; if(m==0) return 0; while(m){ s[i]=m%n+48; m=m/n; i++; } return i;}int main(){ int t,i,m,a,j,b; scanf("%d",&t); for(i=0;i =0;j--){ printf("%c",s[j]); } printf("B "); a=fun(8,m); printf("0"); for(j=a-1;j>=0;j--){ printf("%c",s[j]); } printf(" "); i=0; while(m){ s1[i]=m%16; m=m/16; i++; } for(j=i-1;j>=0;j--){ if(s1[j]<10){ printf("%d",s1[j]); }else{ switch(s1[j]){ case 10: printf("a"); break; case 11: printf("b"); break; case 12: printf("c"); break; case 13: printf("d"); break; case 14: printf("e"); break; case 15: printf("f"); break; } } } printf("H\n"); } return 0; }