【问题描述】
输入两个十进制正整数 M 和 N,求它们的和,结果用十进制表示。注意,M 和 N 服务器托管可能非常大。 【输入描述】
第一行包含一个正整数 M(1≤M
【输出描述】
输出一个正整数,表示计算结果。
【输入样例】
769584695655486596597654685486745
452537865655768856564568658
【输出样例】
769585148193352252366511250055403
【解析】
本题关键点:以字符串输 入,按照列竖式方式求解,可使用函数reverse反转字符串,并转换成整数进行相加。需要注意进位情况的处理。代码如下。
#include
#include
#include
using namespace std;
int calculate(string x,string y){
int ans,len;
int result[y.length()+1];
result[0]=0;
for(int i=0;i=10){
result[i]=ans%10;
result[i+1]=1;
}else{
result[i]= ans;
result[i+1] = 0;
}
}
y[x.length()]=y[x.lengt服务器托管h()]-'0';
result[x.length()] += y[x.length()];
for(int j=x.length()+1;j=0;k--){
cout>m>>n;
//反转字符串
reverse(m.begin(),m.end());
reverse(n.begin(),n.end());
mlen = m.length();
nlen = n.length();
if(mlen>nlen){
calculate(n,m);
}else{
calculate(m,n);
}
cout
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
编译安装 git clone https://gitee.com/mirrors/redis.git cd redis make make test make install # 默认安装在 /usr/local/bin # redis-server 是服务端…