标签:输入 tran soft border back ant ret space 翻转
输入为一行,x、y(1 ≤ x、y ≤ 1000),以空格隔开。
输出rev(rev(x) + rev(y))的值
123 100
223
代码如下:
//思路:将x,y当做是字符串输入,分别对其翻转,然后将字符串类型转化为整型 //然后将得到的和进行翻转,因为涉及到翻转后第一位为0的情况,所以不能直接用string类型翻转 //将每一位保存到一个容器里面,然后计算结果 #include<iostream> #include<string> #include<algorithm> #include<vector> #include<math.h> using namespace std; int main(){ string x,y; cin>>x>>y; reverse(x.begin(),x.end()); reverse(y.begin(),y.end()); int z=stoi(x)+stoi(y); //将和转化为int类型 int num; vector<int> vec; while(z){ num=z%10; vec.push_back(num); z/=10; } int res=0,n=vec.size()-1; for(int i=0;i<=n;++i){ res+=vec[i]*pow(10,n-i); //对于每一位,乘以10的几次方 } cout<<res<<endl; system("pause"); return 0; }
标签:输入 tran soft border back ant ret space 翻转
原文地址:http://www.cnblogs.com/rgly/p/7425151.html