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>
#include<cmath>
using namespace std;

int change(int x){
    int a[100];
    int i=0;
    do{
        a[i]=x%10;
        i++;
        x=x/10;
    }while(x!=0);
    for(int j=0;j<i;j++){
        x+=a[j]*pow(10,i-j-1);
    }
    return x;
}

int main(){
    int n,a,b,sum;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a>>b;
        if((change(a)+change(b))==change(a+b)) cout<<a+b<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}
原文地址:https://www.cnblogs.com/bernieloveslife/p/9736529.html