题目1089:数字反转
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1463
解决:800
-
题目描述:
-
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
-
输入:
-
第一行一个正整数表示测试数据的个数n。
只有n行,每行两个正整数a和b(0<a,b<=10000)。
-
输出:
-
如果满足题目的要求输出a+b的值,否则输出NO。
-
样例输入:
-
2 12 34 99 1
-
样例输出:
-
46 NO
#include "stdio.h" #include <iostream> using namespace std; int reverse(int x) { int temp=0 ; while(x!=0) { temp =temp*10+x%10; x = x/10; } return temp; } int main() { int n ; int a ,b; int at ,bt; int sum ; cin>>n; for(int k = 0 ; k<n ;k++) { cin>>a>>b; sum = a+b; at = reverse(a); bt = reverse(b); if((at+bt)==reverse(sum)) cout<<a+b<<endl; else cout<<"NO"<<endl; } return 0; }