题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/ac61207721a34b74b06597fe6eb67c52
#include <iostream> #include<string> #include<algorithm> using namespace std; int main() { string s,table="0123456789ABCDEF"; int m,n; while (cin >>m>>n) { bool flag=false; //防止m=0时,s内无数据,从而报错 if(m==0){ cout<<"0"<<endl; } if(m<0){ m=-m; flag=true; } while(m!=0){ s=s+table[m%n];//table映射关系10--->A m/=n; } if(flag==true){ s+="-"; } reverse(s.begin(), s.end()); cout<<s<<endl; } } // 64 位输出请用 printf("%lld")