您的位置:首页 > 其它

2031 进制转换

2014-01-02 22:45 274 查看
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

code:

#include<iostream>
using namespace std;

int main(){
int n,r,k,i;
char m[33];
while(cin >> n >> r)
{
if(n<0)
{
n=-n;
cout << "-";
}
if(n==0)
{
cout << 0 <<endl;
continue;
}
for(i=0;n>0;i++)
{
k=n%r;
n/=r;
if(k>9)
{
m[i]=k-10+'A';
}
else
m[i]=k+'0';
}
for(;i>0;i--)
cout << m[i-1];
cout <<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: