题解 | #高精度整数加法#
高精度整数加法
http://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
模拟加法运算。零空间开销!
# include<bits/stdc++.h>
using namespace std;
int main()
{
string s1, s2;
getline(cin, s1);
getline(cin, s2);
int len1 = s1.length()-1, len2 = s2.length()-1;
string ans = "";
int carry = 0;
while(len1>=0&&len2>=0)
{
int a = s1[len1]-'0', b = s2[len2]-'0';
int sum = carry+a+b;
ans.insert(0, to_string(sum%10));
carry = sum/10;
len1--,len2--;
}
while(len1>=0)
{
int a = s1[len1]-'0';
int sum = carry+a;
ans.insert(0, to_string(sum%10));
carry = sum/10;
len1--;
}
while(len2>=0)
{
int a = s2[len2]-'0';
int sum = carry+a;
ans.insert(0, to_string(sum%10));
carry = sum/10;
len2--;
}
if(carry>0)
ans.insert(0, to_string(carry));
cout<<ans<<endl;
return 0;
}
SHEIN希音公司福利 284人发布