1. 程式人生 > >九度OJ—題目1089:數字反轉

九度OJ—題目1089:數字反轉

題目描述:

    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 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
****************************************************************/