AcWing 3702. 十六进制不进位加法
原题链接
简单
作者:
yxc的小迷妹
,
2023-07-17 08:42:04
,
所有人可见
,
阅读 397
#include <iostream>
#include <algorithm>
using namespace std;
string a,b;
string st = "0123456789ABCDEF";
int main()
{
while (cin >> a >> b)
{
int l1 = a.size(), l2 = b.size();
int len = max(l1, l2);
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
string temp = "";
for (int i = 0; i < len; i ++)
{
int temp1 = 0;
if (i < l1)
{
if (a[i] >= '0' && a[i] <= '9')
temp1 += a[i]-'0';
else
temp1 += a[i] - 'A' + 10;
}
if (i < l2)
{
if (b[i] >= '0' && b[i] <= '9')
temp1 += b[i] - '0';
else
temp1 += b[i] - 'A' + 10;
}
temp += st[temp1 %= 16];
}
reverse(temp.begin(), temp.end());
cout << temp << endl;
}
return 0;
}