#include<iostream>
#include<cmath>
#include<algorithm>
#include<string>
using namespace std;
int max(int n, int m)//求答案的位数 即m的最高次-1
{
double num;
for(int i=0;;i++)
{
num=pow(m,i);
if(num>n)
return i-1;
}
}
int main()
{
int n;
int m;
while(cin>>n>>m)
{
if(n<0)
{
cout<<"-";
n=-n; //abs(n)
}
string stream;
for(int i=max(n,m);i>=0;i--)
{
int temp=n%m;
if(temp>=10)
stream+=temp+'0'+7;//转换为字符存入字符串 大于等于10要转换为字母
else
stream+=temp+'0';
n=n/m;
}
reverse(stream.begin(),stream.end());//顺序存入 所以要倒序输出
cout<<stream<<endl;
}
}
杭电oj 2031 进制转换
最新推荐文章于 2023-03-02 17:04:55 发布