题解 | #a+b#

a+b

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

高精度加法

#include <bits/stdc++.h>
#define MAX 1000
using namespace std;


int main() {
    char s1[MAX], s2[MAX];
    cin >> s1 >> s2;
    int len1 = strlen(s1), len2 = strlen(s2), i, tmp;
    int data1[MAX], data2[MAX], res[MAX];

    memset(data1, 0, sizeof(data1));
    memset(data2, 0, sizeof(data2));
    memset(res, 0, sizeof(res));

    for (i = 0; i < len1; i++)
        data1[i] = s1[len1 - 1 - i] - '0';
    for (i = 0; i < len2; i++)
        data2[i] = s2[len2 - 1 - i] - '0';

    int len3 = max(len1, len2) + 1;
    for (i = 0; i < len3 - 1; i++) {
        tmp = res[i] + data1[i] + data2[i];
        res[i + 1] += tmp / 10;
        res[i] = tmp % 10;
    }
    for (i = len3; res[i] == 0; i--);
    for (; i >= 0; i--)
        cout << res[i];
}

全部评论

相关推荐

三分入剑:我觉得还是学历问题 如果你真的想要进大厂不想在小厂的话读个211得研究生吧 我感觉简历还没你好呢 我都实习了俩月了 我投了一百多份能投出20多份简历 能面试六七次 我们部门只招研究生了都 现在连9本都很难找到像样的大厂了 你又没打过rm这种 我觉得想要进步的话就考个研究生吧
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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