1.这里有零的时候
2.考虑负数
3.就是考虑大于10的情况
#include <iostream>
#include <cstdio>
using namespace std;
int a[100005];
int n,m;
int main()
{
while(~scanf("%d %d",&n,&m))
{
if(n==0)
cout<<0;
else if(n>0)
{
int i=0;
while(n>0)
{
i++;
a[i]=n%m;
n=n/m;
}
for(int j=i;j>=1;j--)
{
if(a[j]>9) printf("%c",a[j]-10+‘A‘);
else printf("%d",a[j]);
}
}
else
{
int i=0;
cout<<"-";
n=-n;
while(n>0)
{
i++;
a[i]=n%m;
n=n/m;
}
for(int j=i;j>=1;j--)
{
if(a[j]>9) printf("%c",a[j]-10+‘A‘);
else printf("%d",a[j]);
}
}
cout<<endl;
}
return 0;
}
时间: 2024-10-13 15:57:41