九度-1198(a+b(大数相加))

题目描述:
实现一个加法器,使其能够输出a+b的值。
输入:
输入包括两个数a和b,其中a和b的位数不超过1000位。
输出:
可能有多组测试数据,对于每组数据,
输出a+b的值。
样例输入:
2 6
10000000000000000000 10000000000000000000000000000000
样例输出:
8
10000000000010000000000000000000
【九度-1198(a+b(大数相加))】问题求解:

#include #include using namespace std; void solution(string num1, string num2) { int n1=num1.size(); int n2=num2.size(); int maxLen=n1>n2?n1:n2; vector a1(maxLen); vector a2(maxLen); vector res(maxLen+1); //结果数组最长长度等于maxLen+1 int c=0; //进位 for(int i=0; i0)//c>0则要加上最后的进位 { res[j] = c; } else//c==0则把末尾多余的0去掉 { res.resize(maxLen); } for(int i=res.size()-1; i>=0; i--) { cout<>s1>>s2) { solution(s1, s2); } return 0; }

    推荐阅读