题解
2026-02-15 10:21:56
发布于:北京
0阅读
0回复
0点赞
有点复杂...
#include<bits/stdc++.h>
using namespace std;
#define int long long
void FIX(string& s,int length) {
reverse(s.begin(),s.end());
while (s.length()!=length) {
s.push_back('0');
}
for (int i=0;i<s.size();i++) {
s[i]-='0';
}
}
void RESULT(string& s) {
while (s.size()>1&&s.back()=='0')s.pop_back();
reverse(s.begin(),s.end());
}
signed main() {
string a,b;
cin>>a>>b;
int length=max(a.size(), b.size());
string c(length+1,0);
FIX(a,length);
FIX(b,length);
for(int i=0;i<a.size();i++){
c[i]+=a[i]+b[i];
if(c[i]>9){
c[i+1]+=1;
c[i]%=10;
}
c[i]+='0';
if(i==a.size()-1){
c[i+1]+='0';
}
}
RESULT(c);cout<<c<<endl;
return 0;
}
这里空空如也




有帮助,赞一个