80分求助!

P1601 A+B Problem(高精)

第20行的 x[0] = max(la,lb);改成x[0] = max(la,lb)+ 1,因为最后答案的位数有因为可能进位而多一位 代码: ```cpp #include <bits/stdc++.h> using namespace std; string a,b; int sa[501],sb[501],c[502]; int x[502]; int main(){ cin >> a >> b; reverse(a.begin(),a.end()); reverse(b.begin(),b.end()); int la = a.size(); int lb = b.size(); sa[0] = la; sb[0] = lb; for(int i = 1; i <= la; i++){ sa[i] = a[i - 1] - '0'; } for(int i = 1; i <= lb; i++){ sb[i] = b[i - 1] - '0'; } x[0] = max(la,lb)+1; for(int i = 1; i <= x[0]; i++){ x[i] = ((sa[i] + sb[i] + c[i-1]) % 10); c[i] = (sa[i] + sb[i] + c[i-1]) / 10; } while(x[x[0]] == 0 && x[0] != 1)x[0]--; for(int i = x[0]; i >= 1; i--)cout << x[i]; return 0; } ```
by wangzhongqian @ 2024-05-01 21:54:02


求关
by wangzhongqian @ 2024-05-01 21:54:31


@[lihaoyu68](/user/1284034)
by wangzhongqian @ 2024-05-01 21:56:37


已关,谢谢dalao
by lihaoyu68 @ 2024-05-02 18:50:50


|