题目描述:将整数n转换成b进制。
输入: 一行,两个整数 n b ( 1 <= n <= 32767, 2 <= b <= 20 )。
输出:一行,为n转换成b进制后的数。
样例输入:1229 16
样例输出:4CD
思路:短除法,但凡是上过六年级的都学过(我七年级畜中生)
注:由于一些进制转换的问题,所以规定:10用字母大写A来表示,11用字母大写来表示,以此类推,例:(4CD)16=1229
上代码!:
#include<bits/stdc++.h>
using namespace std;
string fb(int n,int m)
{
string a;
if(n<m)
{
if(n<=9)
{
return a+char(n+'0');
}
else
{
return a+char(n+'A'-10);
}
}
if(n%m<9)
{
a+=n%m+'0';
}
else
{
a+=n%m+'A'-10;
}
return fb(n/m,m)+a;
}
int main()
{
int n,m;
cin>>n>>m;
cout<<fb(n,m);
return 0;
}
都看到这了,点个赞再走呗,毕竟人家还是初中生呢!
如果有大佬捧场,在下感激不尽~~~