进制转换


Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 32285    Accepted Submission(s): 17934



Problem Description


输入一个十进制数N,将它转换成R进制数输出。


 



Input


输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。


 



Output


为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。


 



Sample Input


7 2 23 12 -4 3


 



Sample Output


111 1B -11



#include<stdio.h>
int main(){
	int n,m,i,j,t;
	char c[17]={"0123456789ABCDEF"};
	int a[110];
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		i=0;t=1;
		if(n<0)
		{
			printf("-");
			n=-n;
		}
		while(n)
		{
			a[i++]=n%m;
			n/=m;
		}
		for(j=i-1;j>=0;j--)
			printf("%c",c[a[j]]);
			printf("\n");
	}
	return 0;
}