hdu 2057 A + B Again

感情迁移 提交于 2020-03-10 10:41:36

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 !

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.

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!