题解 | #高精度整数加法# c++模拟加法过程

高精度整数加法

http://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

字符串逆序方向模拟加法过程,注意处理边界进位。

#include<bits/stdc++.h>

using namespace std;

typedef long long LL;

inline int ctoi(char c)
{
    return c - '0';
}

void add(string &s1, string &s2)
{
    if (s1.size() > s2.size()) return add(s2, s1);

    vector<int> vec;
    int tt = 0;
    for (int i = 0; i < s2.size(); i++) {
        tt += i < s1.size() ? (ctoi(s1[i]) + ctoi(s2[i])) : ctoi(s2[i]);
        vec.push_back(tt % 10);
        tt /= 10;
    }
    // handle carray number
    if(tt) vec.push_back(tt);
    for (int i = vec.size() - 1; i >= 0; i--)
        cout << vec[i];
}

int main()
{
    string s1, s2;

    for (; cin >> s1; ) {
        cin >> s2;
        reverse(s1.begin(), s1.end()), reverse(s2.begin(), s2.end());
        add(s1, s2);
        cout << endl;
    }

    return 0;
}
全部评论

相关推荐

09-12 11:00
门头沟学院 Java
b溃了,早知道不拉扯了
在迎接offer的废...:手中握着有一两个offer才敢拉扯,没保底就别了吧。
我的秋招日记
点赞 评论 收藏
分享
阿武同学:不要写至今,写具体哪年哪月毕业,专业技能往后排,项目往前排,共青团员可以不写
投了多少份简历才上岸
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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