@[lucy2012](/user/1252442) 有负数
by Huge_Brain @ 2024-02-21 14:39:10
@[Huge_Brain](/user/380639) ?能说详细一丢丢吗
by lucy2012 @ 2024-02-21 14:41:25
@[lucy2012](/user/1252442) 你这个高精加没有考虑到负数的情况
by tomxi @ 2024-02-21 14:46:30
@[tomxi](/user/929151) 高精度加法,相当于 a+b problem,不用考虑负数。
题干不是这样的嘛
by ilibilib @ 2024-02-21 14:48:03
@[ilibilib](/user/1039659) 额好像是这样的我好久没看题了
by tomxi @ 2024-02-21 14:48:44
@[ilibilib](/user/1039659) @[tomxi](/user/929151) @[Huge_Brain](/user/380639)
没法输出教教我
by lucy2012 @ 2024-02-21 14:50:13
上代码@[lucy2012](/user/1252442)
```cpp
#include<bits/stdc++.h>
using namespace std;
int a[10000],b[10000],c[10000];
int main(){
string as,bs;
int la,lb,lc,i;
cin>>as>>bs;
la=as.size();lb=bs.size();
for(int i=1;i<=la;i++) a[i]=as[la-i]-'0';
for(int i=1;i<=lb;i++) b[i]=bs[lb-i]-'0';
i=1;
memset(c,0,sizeof(c));
while(i<=la||i<=lb)
{
c[i]+=a[i]+b[i];
c[i+1]+=c[i]/10;
c[i]%=10;
i++;
}
if(c[i]>0) lc=i;
else lc=i-1;
for(int i=lc;i>=1;i--)cout<<c[i];
return 0;
}
``````
求关
by 2023hkm @ 2024-02-21 14:51:17
我把我代码加了注释了要不你看看我的?
```cpp
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int a[N],b[N],c[N];
int main(){
string s1, s2;
cin >> s1 >> s2;
int lena=s1.size();
int lenb=s2.size();
int lenc=max(lena,lenb);//倒序存储
for(int i=1; i<=lena; i++)
a[i]=s1[lena-i]-'0';
for(int i=1; i<=lenb; i++)
b[i]=s2[lenb-i]-'0'; //从低位向高位累加
for(int i=1; i<=lenc; i++){
c[i]+=a[i]+b[i]; //加上次的进位
c[i+1]=c[i]/10; //进位
c[i]%=10; //存余数
}
if(c[lenc+1]>0) lenc++; //处理最高进位,输出结果
for(int i=lenc; i>=1; i--) cout<<c[i];
cout<<endl;
return 0;
}
/*
9758
567
*/
```
by tomxi @ 2024-02-21 14:52:00
我这么做复杂度是线性的,$\max(|A|,|B|)$
by tomxi @ 2024-02-21 14:53:27
@[2023hkm](/user/1240717) @[tomxi](/user/929151) 都看了,以关,谢谢!
by lucy2012 @ 2024-02-21 14:54:55