九度OJ—题目1089:数字反转

来源:互联网 发布:银行家算法详解request 编辑:程序博客网 时间:2024/06/14 01:17
题目描述:

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

输入:

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

输出:

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

样例输入:
212 3499 1
样例输出:
46NO
来源:
2005年上海交通大学计算机研究生机试真题
答疑:
解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7812-1-1.html

#include <iostream>   using namespace std;  int zhuan(int number)   {        int n = 0;//余数.      int m = number;     while(m != 0)       {           n = n*10 + m %10;  //number的最低位变为n的最高位         m  = m /10;       }          return n;  } int main(){    int n;    int i;    int x,y,sum;     while(cin>>n)    {        for(i=0;i<n;i++)        {            cin>>x>>y;            sum=x+y;            if(zhuan(sum)==(zhuan(x)+zhuan(y)))                cout<<sum<<endl;            else                cout<<"NO"<<endl;        }    }     return 0;}/**************************************************************    Problem: 1089    User: vhreal    Language: C++    Result: Accepted    Time:0 ms    Memory:1520 kb****************************************************************/


0 0
原创粉丝点击