一、代码模板
- 十进制数M(M>0)转化为N进制数
while(M) { char c=mp[M%N]; ret+=c; M/=N; } reverse( ret.begin(), ret.end()); //反转亦可改为『栈』
二、AC代码
map<int,char> mp;
void init()
{
for(int i=0; i<10; ++i)
{
mp[i]='0'+i;
}
for(int i=10; i<16; ++i)
{
mp[i]='A'+(i-10);
}
}
class Solution {
public:
/**
* 进制转换
* @param M int整型 给定整数
* @param N int整型 转换到的进制
* @return string字符串
*/
string solve(int M, int N) {
// write code here
int tag=0;
if( M<0 )
{
tag=1;
M=-1*M;
}
init();
string ret;
while(M)
{
char c=mp[M%N];
ret+=c;
M/=N;
}
if( tag )
{
ret+='-';
}
reverse( ret.begin(), ret.end());
return ret;
}
}; 
京公网安备 11010502036488号