C++自存错题(15)a+b高精

高精度加法,相当于 a+b problem,不用考虑负数。

输入格式
分两行输入。a,b≤10
500
 。

输出格式
输出只有一行,代表 a+b 的值。

输入输出样例
输入 #1复制

1
1
输出 #1复制

2
输入 #2复制

1001
9099
输出 #2复制

10100
说明/提示
20% 的测试数据,0≤a,b≤10 
9
 ;

40% 的测试数据,0≤a,b≤10 
18
 。
#include <iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<queue>
using namespace std;
string a, b;
int len = 0;
int a1[5000], b1[5000], c1[5000];
int carry = 0;
void qh(string a, string b) {
    for (int i = a.size() - 1; i >= 0; i--) {
        a1[a.size()-1-i] = a[i] - '0';
    }
    for (int i = b.size() - 1; i >= 0; i--) {
        b1[b.size()-1-i] = b[i] - '0';
    }
     len = max(a.size(), b.size());
    for (int i = 0; i < len; i++) {
        
        c1[i] = a1[i] + b1[i] + carry;
        carry = c1[i] / 10;
        c1[i] %= 10;
        if (i == len - 1 && carry > 0) {
            len++;
        }
    }
    
}
int main() {
    
    cin >> a >> b;
    qh(a, b);
    for (int i = len; i >=0; i--) {
        if (i == len && c1[i] == 0) {

        }
        else {
            cout << c1[i];
        }
    }
    return 0;
}
全部评论

相关推荐

牛客87317764...:然后客户端边学边投,学个1个月投不进去都是正常的,这玩意非常看运气
投递快手等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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