题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805263297527808
坑点在如果一个没都没输出,那么最后要输出0,否则最后一个测试点会挂
代码
#include<cstdio>#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;int main(){string table, a, b;int carry = 0;vector<int> ans;cin>>table>>a>>b;int max_len = max(table.size(), max(a.size(), b.size()));//全部补零while(table.size() != max_len) table.insert(0, "0");while(a.size() != max_len) a.insert(0, "0");while(b.size() != max_len) b.insert(0, "0");//开始计算for(int i = max_len - 1; i >= 0; i--){int fenmu = (table[i] - '0');if(fenmu == 0) fenmu = 10;int temp = (a[i] - '0' + b[i] - '0' + carry) % fenmu;carry = (a[i] - '0' + b[i] - '0' + carry) / fenmu;ans.push_back(temp);}ans.push_back(carry);int flag = 0;for(int i = ans.size() - 1; i >= 0; i--){if(ans[i] == 0 && flag == 0){continue;} else {cout<<ans[i];flag = 1;}}if(flag == 0) printf("%d", 0);return 0;}
