题目描述
对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:
如果 X = 123,则rev(X) = 321;
如果 X = 100,则rev(X) = 1.
现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?
#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;
int rev(int x);
int main()
{
int x,y;
while(cin>>x>>y)
{
cout<<rev(rev(x)+rev(y))<<endl;
}
return 0;
}
int rev(int x)
{
int num=0;
stack<int> s;
while(x)
{
s.push(x%10);
x/=10;
}
int k=1;
while(!s.empty())
{
num += s.top()*k;
k*=10;
s.pop();
}
return num;
}