您的位置:首页 > 大数据 > 人工智能

HDU 2057 A + B Again

2016-03-19 22:03 585 查看

A + B Again

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 21537    Accepted Submission(s): 9307


[align=left]Problem Description[/align]
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 !
 

[align=left]Input[/align]
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.
 

[align=left]Output[/align]
For each test case,print the sum of A and B in hexadecimal in one line.

 

[align=left]Sample Input[/align]

+A -A
+1A 12
1A -9
-1A -12
1A -AA

 

[align=left]Sample Output[/align]

0
2C
11
-2C
-90

 

[align=left]Author[/align]
linle
 

[align=left]Source[/align]
校庆杯Warm Up
 

[align=left]Recommend[/align]
linle   |   We have carefully selected several similar problems for you:  2060 2059 2054 2061 2062 
 十六进制的运算,虽然可以转换成十进制进行运算,但是太麻烦,去搜了一下发现可以直接用%X进行运算,长知识了,不过需要注意的是%X不能输出负数
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
int main()
{
__int64 a,b;
while(scanf("%I64X %I64X",&a,&b)!=EOF)
{
if(a+b<0)
{
printf("-%I64X\n",-a-b);
}

else
{
printf("%I64X\n",a+b);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: