题解 | #a+b#

a+b

http://www.nowcoder.com/practice/4c39c984ea3848b48e111b8e71ec1dd4

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
    string a, b, ans;
    while (cin >> a >> b) {
        ans = "";
        reverse(a.begin(), a.end());
        reverse(b.begin(), b.end());
        int len1 = a.size();
        int len2 = b.size();
        int i = 0,carry = 0;
        while (i < len1 && i < len2) {
            int cur = a[i] - '0' + b[i] - '0' + carry;
            ans += to_string(cur % 10);
            carry = cur / 10;
            i++;
        }
        if (i < len2) {
            swap(a, b);
            swap(len1, len2);
        }
        while (i < len1) {
            int cur = a[i] - '0' + carry;
            ans += to_string(cur % 10);
            carry = cur / 10;
            i++;
        }
        if (carry)
            ans += to_string(carry);
        reverse(ans.begin(), ans.end());
        cout << ans << endl;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务