Problem Description
There must be many A + B problems in our HDOJ , now a new one is coming.
Give you two hexadecimal integers , your task is to calculate the sum of them,and print it in hexadecimal too.
Easy ? AC it !
Give you two hexadecimal integers , your task is to calculate the sum of them,and print it in hexadecimal too.
Easy ? AC it !
Input
The input contains several test cases, please process to the end of the file.
Each case consists of two hexadecimal integers A and B in a line seperated by a blank.
The length of A and B is less than 15.
Each case consists of two hexadecimal integers A and B in a line seperated by a blank.
The length of A and B is less than 15.
Output
For each test case,print the sum of A and B in hexadecimal in one line.
Sample Input
+A -A
+1A 12
1A -9
-1A -12
1A -AA
Sample Output
0
2C
11
-2C
-90
解:这个题可以用字符串转成10进制数,相加后再输出16进制数。有一种更简单的实现方法,直接用%X输入输出,但问题是16进制数没有符号位,所以正负要分开。
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <vector> #include <cmath> #include <queue> #include <deque> #include <cmath> #include <map> using namespace std; typedef long long ll; const double inf=1e20; const int maxn=1e5+10; const int mod=1e9+7; int main(){ __int64 a,b,c; while(scanf("%I64X %I64X ",&a,&b)!=EOF){ c=a+b; if(c>=0)printf("%I64X\n",c); else printf("-%I64X\n",-c); } return 0; }
来源:https://www.cnblogs.com/wz-archer/p/12453921.html