样例一本地测试结果一样,但0分

P2142 高精度减法

```cpp #include <iostream> #include <algorithm> using namespace std; int main() { string s1,s2; cin>>s1>>s2; int lens1=s1.length(),lens2=s2.length(); int a1[99999]={0},a2[99999]={0}; int flag=1; if(lens1<lens2) { swap(s1,s2); flag=-1; } else if(lens1==lens2&&s1<s2) { swap(s1,s2); flag=-1; } lens1=s1.length(),lens2=s2.length(); for(int i=0;i<lens1;i++) { a1[lens1-1-i]=s1[i]-'0'; } for(int i=0;i<lens2;i++) { a2[lens2-1-i]=s2[i]-'0'; } int sum[99999]={0}; int lensum=lens1; for(int i=0;i<lensum;i++) { sum[i]=a1[i]-a2[i]; } for(int i=0;i<lens1;i++) { if(sum[i]<0) { sum[i]=sum[i]+10; sum[i+1]=sum[i+1]-1; } } while(sum[lensum]==0&&lensum>0) { lensum--; } if(flag==-1) { cout<<"-"; } for(int i=lensum;i>=0;i--) { cout<<sum[i]; } return 0; }
by lihaoyu114514 @ 2024-03-17 20:04:52


这是我写的,你可以参考一下@ Zrf3383279502168841
by lihaoyu114514 @ 2024-03-17 20:05:47


@[lihaoyu114514](/user/1149150) 感谢 ~~(为什么我O2一关就80了,WA#2#10)~~
by Zrf3383279502168841 @ 2024-03-17 20:26:52


|