题目描述:
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 <iostream>
using namespace std;
int main()
{
int n;
int a,b,sum,t;
int turna,turnb,turnsum; //翻转后的a b a+b
cin>>n;
while(n>0)
{
cin>>a>>b;
sum=a+b;
t=sum;
turna=0,turnb=0,turnsum=0;
while(a!=0)
{
turna=turna*10+a%10;
a/=10;
}
while(b!=0)
{
turnb=turnb*10+b%10;
b/=10;
}
while(sum!=0)
{
turnsum=turnsum*10+sum%10;
sum/=10;
}
if(turna+turnb==turnsum)
{
cout<<t<<endl;
}
else
{
cout<<"NO"<<endl;
}
n--;
}
return 0;
}
程序截图: