2 条题解
-
0
正确代码:
#include<bits/stdc++.h> using namespace std; long long n1[205],n2[205],n3[205]; int main(){ char a1[205],a2[205]; cin>>a1>>a2; long long m1,m2; m1=strlen(a1); m2=strlen(a2); for(int i=1,j=m1-1;i<=m1;i++,j--){ n1[i]=a1[j]-'0'; } for(int i=1,j=m2-1;i<=m2;i++,j--){ n2[i]=a2[j]-'0'; } int d=max(m1,m2); for(int i=1;i<=d;i++){ n3[i]=n3[i]+n1[i]+n2[i]; if(n3[i]>=10){ n3[i]=n3[i]%10; n3[i+1]++; if(i==d){ d++; } } } for(int i=d;i>=1;i--){ cout<<n3[i]; } return 0; }
这题花了我一个半小时
-
0
错误代码:
#include<bits/stdc++.h> using namespace std; int main(){ char a1[205],a2[205]; cin>>a1>>a2; int s1=strlen(a1),s2=strlen(a2); for(int i=0;i<=s1-1;i++){ a1[i]=a1[i]-48; } for(int i=0;i<=s2-1;i++){ a2[i]=a2[i]-48; } int s3=max(s1,s2),s4=0; for(int i=s3-1,j=min(s1,s2)-1;j>=0;i--,j--){ if(j==s1-1){ a1[i]=a1[j]; }else{ a2[i]=a2[j]; } } for(int i=max(s1,s2)-min(s1,s2)-1;i>=0;i--){ if(min(s1,s2)==s1){ a1[i]=0; }else{ a2[i]=0; } } for(int i=s3-1;i>=0;i--){ if(a1[i]+a2[i]+s4>=10){ if(s3==s1){ a1[i]=(a1[i]+a2[i]+s4)%10; }else{ a2[i]=(a1[i]+a2[i]+s4)%10; } s4=1; }else{ if(s3==s1){ a1[i]=a1[i]+a2[i]+s4; }else{ a2[i]=a1[i]+a2[i]+s4; } s4=0; } } if(s4==1){ cout<<1; } for(int i=0;i<=max(s1,s2)-1;i++){ if(max(s1,s2)==s1){ cout<<int(a1[i]); }else{ cout<<int(a2[i]); } } return 0; }
- 1
信息
- ID
- 930
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 11
- 已通过
- 5
- 上传者