题目描述
12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。
输入描述:
每行两个正整数a和b(0<a,b<=10000)。
输出描述:
如果满足题目的要求输出a+b的值,否则输出NO。
#include<iostream>
#include<cmath>
using namespace std;
int reverse(int num){//数字翻转 123
int count=0,tmp,res=0;
tmp=num;
while(tmp>0){//统计数字是几位数
tmp=tmp-tmp%10;
tmp=tmp/10;
count++;
}
for(int k=count;k>0;k--){
int p=num%10;
res=res+p*pow(10,k-1);
num=num/10;
}
return res;
}
int main(){
int num1,num2;
while(cin>>num1>>num2){
int res1=reverse(num1)+reverse(num2);
if(res1==reverse(num1+num2)){
cout<<num1+num2<<endl;
}else{
cout<<"NO"<<endl;
}
}
return 0;
}