写在前面
你好!欢迎来到我的博客,希望我的思路能够帮到你!
问题描述
以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。
现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。
你能帮小A实现这个计算器吗?
输入形式
输入的第一行包括一个整数N(1<=N<=100)。
接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。
每个数会用小A所设计的操作系统中的表示方法来表示,如:bsadfasdf。
即每个数的各个位均由26个小写字母a-z中的一个来表示。
输出形式
输出x和y相加后的结果,结果也要用题目中描述的26进制数来表示。
样例输入
4
ba cd
c b
b c
ba c
样例输出
dd
d
d
bc
解题思路
这道题涉及到字符串转为整形和进制转换。
但整体思路比较简单。
首先,对于所有的输入数据,都是字符串,故我们需要用字符串进行存储。其次,对于进制转换,最简单的一种方式就是用栈进行逆序输出。
AC代码
#include<iostream>
#include<string>
#include<cmath>
#include<stack>
using namespace std;
int