十进制转换为N进制
描述
输入一个十进制数N,将它转换成K进制数输出。
思路
除K取余, 倒序输出
输入
输入数据包含多组测试数据,每组测试数据包含两个整数N(32位整数)和R(2<=K<=16, K<>10)。
输出
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
代码部分
#include<iostream>
using namespace std;
char zm(int a)
{
if(a<=9)
{
a= (char) a;
return a;
}
else if (a==10) return 'A';
else if (a==11) return 'B';
else if (a==12) return 'C';
else if (a==13) return 'D';
else if (a==14) return 'E';
else
return 'F';
}
int main()
{
long long num;
int jz;
char ch[33];
while(cin>>num>>jz)
{
long long ys;
int i=0;
while(num!=0)
{
ys=num%jz;
ch[i]=zm(ys);
num=num/jz;
i++;
}
for(int j=i-1;j>=0;j--)
cout<<ch[j];
cout<<endl;
}
return 0;
}