题目1089:数字反转

来源:互联网 发布:mac卸载软件残留 编辑:程序博客网 时间:2024/06/06 10:47
题目描述:

    12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。

输入:

    第一行一个正整数表示测试数据的个数n。
    只有n行,每行两个正整数a和b(0<a,b<=10000)。

输出:

    如果满足题目的要求输出a+b的值,否则输出NO。

样例输入:
212 3499 1
样例输出:
46

NO

<pre name="code" class="cpp">#include <iostream>#include <cstdio>#include <string>#include <cstring>using namespace std; int a,b;int ra,rb,r;int n;void rev(int x,int &y){    while(x)    {        int temp=x%10;        x/=10;        y=y*10+temp;    }}int main(){    scanf("%d",&n);    while(n--)    {        scanf("%d%d",&a,&b);        ra=rb=r=0;        rev(a,ra);        rev(b,rb);        rev(a+b,r);        if(r==ra+rb) printf("%d\n",a+b);        else printf("NO\n");    }    return 0;}


0 0