编程题 数字翻转
时间限制:1秒
空间限制:32768K
对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:
如果 X = 123,则rev(X) = 321;
如果 X = 100,则rev(X) = 1.
现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?
输入描述:
输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。
输出描述:
输出rev(rev(x) + rev(y))的值
输入例子1:
123 100
输出例子1:
223
代码:
#include<iostream>
#include<algorithm>
#include<stdlib.h> //函数atoi() 需要这个头文件
using namespace std;
int rev(int x){
string str=to_string(x);//int 转换为string
reverse(str.begin(),str.end());
return atoi(str.c_str());
//string转换为int,注意先用c_str()转换一下string,
//再用atoi转换为int
}
int main(){
int x,y;
cin>>x>>y;
cout<<rev(rev(x) + rev(y))<<endl;
return 0;
}