HDOJ 1720 A+B Coming

Problem Description

Many classmates said to me that A+B is must needs.
If you can’t AC this problem, you would invite me for night meal. ^_^

 

Input

Input may contain multiple test cases. Each case contains A and B in one line.
A, B are hexadecimal number.
Input terminates by EOF.

 

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;
}

猜你喜欢

转载自blog.csdn.net/qq_41072874/article/details/84593286