hdu 2031(进制转换升级版)

2015-11-21 01:00:50 · 作者: · 浏览: 5

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<