您的位置:首页 > 其它

[4554]:叛逆的小明

2016-03-24 14:15 274 查看
Problem Description

叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如:

小明会把1234它看成4321;把-1234看成-4321;把230看成032 (032=32);把-230看成-032(-032=-32)。

现在,小明做了一些a+b和a-b的题目(a, b为整数且不含前导0),如果给你这些题目正确的答案,你能猜出小明会做得到什么答案吗?

Input

输入第一行为一个正整数T(T<=10000),表示小明共做了T道题。

接下来T行,每行是两个整数x,y(-1000000<=x, y<=1000000), x表示a+b的正确答案,y表示a-b的正确答案。

输入保证合法,且不需考虑a或b是小数的情况。

Output

输出共T行,每行输出两个整数s t,之间用一个空格分开,其中s表示小明将得到的a+b答案,t表示小明将得到的a-b答案。

Sample Input

3

20 6

7 7

-100 -140

Sample Output

38 24

7 7

-19 -23

Source

2013金山西山居创意游戏程序挑战赛——初赛(4)

考察:1.知道两数和两数差,求这两个数 2.将数倒过来

[简单题]

/*
author : Yangchengfeng
*/

#include<stdio.h>
#include<math.h>
#define N 8

int getChange(int num){
int i = 0, j, k, n
, sum = 0;
while(num){
n[i] = num % 10;
num /= 10;
i++;
}
j = i;
k = i;
for(i=0; i<k; i++){
sum += n[i] * (int)pow(10, --j);
}
return sum;
}

int main()
{
int t, num1, num2, m, n;
scanf("%d", &t);
while(t--){
scanf("%d%d", &m, &n);
num1 = (m + n)/2;
num2 = m - num1;
if(num1 < 0){
num1 = getChange(num1 * (-1)) * (-1);
} else {
num1 = getChange(num1);
}
if(num2 < 0){
num2 = getChange(num2 * (-1)) * (-1);
} else {
num2 = getChange(num2);
}
printf("%d %d\n", num1+num2, num1-num2);
}
return 0;
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: