Problem Description Many classmates said to me that A+B is must needs. Input Input may contain multiple test cases. Each case contains A and B in one line. Output Output A+B in decimal number in one line. Sample Input 1 9 A B a b Sample Output 10 21 21 |
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[100];
char b[100];
int htod(char str[])
{
int res=0;
int j = 0;
for (int i = strlen(str) - 1; i >= 0; i--)
{
if (str[i] >= '0'&&str[i] <= '9')
res += (str[i] - '0')*pow(16, j++);
else if (str[i] >= 'A'&&str[i] <= 'Z')
res += (str[i] - 55)*pow(16, j++);
else
res += (str[i] - 87)*pow(16, j++);
}
return res;
}
int main()
{
while (scanf("%s%s", a, b) != EOF)
{
printf("%d\n", htod(a) + htod(b));
}
return 0;
}