1.这里有零的时候
2.考虑负数
3.就是考虑大于10的情况
#include
#include
using namespace std; int a[100005]; int n,m; int main()www.2cto.com { 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<