题目描述
nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。
输入描述:
输入有多行。
每行包括两个正整数n和R,其中2≤R≤16。
输入直到文件结束为止。
输出描述:
对于每个用例,输出n对应的R进制形式。
超过10进制的数,10用A表示、11用B表示,依次类推。
输入例子:
1989 2 1119 16
输出例子:
11111000101 45F
算法实现:
#include <stdio.h>
int main()
{
int r,coder;
long n;
while (scanf("%ld %d",&n,&r)!=EOF) {
int now[1000];
coder=0;
while (n){
now[coder]=n%r;
n=n/r;
coder++;
}
while (coder>0) {
coder--;
if (now[coder]<10) {
printf("%d",now[coder]);
} else {
printf("%c",'A'+now[coder]-10);
}
}
printf("\n");
}
return 0;
}