4 条题解
-
2
#include<bits/stdc++.h> using namespace std; const int maxn=1005; string a1,b1; int a[maxn],b[maxn],c[maxn],fa,fb,lena,lenb,lenc; void abb(int x[],int y[]){ lenc=max(x[0],y[0]); for(int i=1;i<=lenc;i++){ c[i]=c[i]+x[i]+y[i]; if(c[i]>9){ c[i]=c[i]%10; c[i+1]++; } } if(c[lenc+1]!=0) lenc++; for(int i=lenc;i>=1;i--) cout<<c[i]; } void jian(int x[],int y[]){ lenc=x[0]; for(int i=1;i<=lenc;i++){ if(x[i]<y[i]){ x[i+1]--; x[i]=x[i]+10; } c[i]=x[i]-y[i]; } while(c[lenc]==0) lenc--; for(int i=lenc;i>=1;i--) cout<<c[i]; } int main(){ cin>>a1>>b1; if(a1==b1){ cout<<0; return 0; } if(a1[0]=='-'){ fa=1; a1.erase(0,1); } if(b1[0]=='-'){ fb=1; b1.erase(0,1); } a[0]=a1.size(); for(int i=1;i<=a[0];i++){ a[i]=a1[a[0]-i]-'0'; } b[0]=b1.size(); for(int i=1;i<=b[0];i++) b[i]=b1[b[0]-i]-'0'; if(fa==0 && fb==0){ if(a[0]<b[0] ||(a[0]==b[0] && a1<b1)){ cout<<"-"; jian(b,a); }else jian(a,b); } if(fa==0 && fb==1){ abb(a,b); } if(fa==1 && fb==1){ if(a[0]>b[0]||(a[0]==b[0]&&a1>b1)){ cout<<'-'; jian(a,b); }else jian(b,a); } if(fa==1 && fb==0){ cout<<"-"; abb(a,b); } return 0; } ```
-
1
#include<bits/stdc++.h> using namespace std; string s1,s2; int a[1000],b[1000],c[10000],lena,lenb,lenc; int main(){ cin>>s1>>s2; if(s1=="0"||s2=="0"){ cout<<0; return 0; } lena=s1.size(); lenb=s2.size(); lenc=lena+lenb; for(int i=1;i<=lena;i++){ a[i]=s1[lena-i]-48; } for(int i=1;i<=lenb;i++){ b[i]=s2[lenb-i]-48; } for(int i=1;i<=lenb;i++){ for(int j=1;j<=lena;j++){ c[i+j-1]+=b[i]*a[j]; } } for(int i=1;i<=lenc;i++){ c[i+1]+=c[i]/10; c[i]=c[i]%10; } while(c[lenc]==0) lenc--; for(int i=lenc;i>=1;i--){ cout<<c[i]; } return 0; }
-
0
- #include<bits/stdc++.h> using namespace std; char a1[2001],b1[2001],c1[2001]; int a[2001],b[2001],c[2002]; int main(){ cin>>a1>>b1; int la=strlen(a1); int lb=strlen(b1); for(int i=1;i<=la;i++){ a[i]=a1[la-i]-'0'; } for(int i=1;i<=lb;i++){ b[i]=b1[lb-i]-'0'; } int x; for(int i=1;i<=la;i++){ x=0; for(int j=1;j<=lb;j++) { c[i+j-1]=a[i]*b[j]+x+c[i+j-1]; x=c[i+j-1]/10; c[i+j-1]%=10; } c[lb+i]=x; } int lc=la+lb; while(c[lc]==0&&lc>1) lc--; for(int i=lc;i>=1;i--) cout<<c[i]; return 0;
-
-
-
-
- }
-
-
-
-
0
#include<bits/stdc++.h> using namespace std; string s1,s2; int a[1000],b[1000],c[10000],lena,lenb,lenc; int main(){ cin>>s1>>s2; if(s1=="0" ||s2=="0"){ cout<<0; return 0;} lena=s1.size(); lenb=s2.size(); lenc=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<=lenb;i++){ for(int j=1;j<=lena;j++){ c[j+i-1]+=b[i]*a[j]; } } for(int i=1;i<=lenc;i++){ c[i+1]+=c[i]/10; c[i]=c[i]%10; }while(c[lenc]==0){ lenc--; }for(int i=lenc;i>=1;i--){ cout<<c[i]; } return 0; }
- 1
信息
- ID
- 283
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 6
- 标签
- 递交数
- 158
- 已通过
- 45
- 上传者