1.题目:
Problem Description
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
Input
第一行一个正整数表示测试数据的个数n。
只有n行,每行两个正整数a和b(0<a,b<=10000)。
只有n行,每行两个正整数a和b(0<a,b<=10000)。
Output
如果满足题目的要求输出a+b的值,否则输出NO。
Sample Input
2
12 34
99 1
Sample Output
46
NO
Author
2.参考代码一:
#include <iostream>
using namespace std;
int Order(int n)
{
int ans = 0;
while (n) {
ans = ans * 10 + n % 10;
n /= 10;
}
return ans;
}
int main()
{
int n, a, b, i;
cin >> n;
while (n--) {
cin >> a >> b;
if (Order(a + b) == Order(a) + Order(b))
cout << a + b << endl;
else
cout << "NO\n";
}
return 0;
}
参考代码二:
#include <iostream>
#include <string.h>
using namespace std;
int Order(int n)
{
int a, b = 0;
while (n) {
a = n % 10;
b = b * 10 + a;
n = n / 10;
}
return b;
}
int main()
{
int n, a, b;
while (cin >> n) {
while (cin >> a >> b) {
if (Order(a + b) == Order(a) + Order(b))
cout << a + b << endl;
else
cout << "NO\n";
}
}
return 0;
}