数制转换(暑假每日一题 16)
数据可能存在包含前导零的情况。
输入样例:
15 Aab3 7
输出样例:
210306
#includeusing namespace std;int a, b;string s;int get(char & c){ if('0' <= c && c <= '9') return c - '0'; return tolower(c) - 'a' + 10;}int getTen(int a, string s){ int res = 0; for(int i = 0; i < s.size(); i++) res = res * a + get(s[i]); return res;}string trans(int n, int b){ string res; char c; while(n){ int x = n % b; if(x < 10) c = x + '0'; else c = 'A' + (x - 10); res = c + res; n /= b; } return res;}int main(){ cin >> a >> s >> b; int x = getTen(a, s); cout << trans(x, b) << endl; return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~