1 solutions
-
0
#include<bits/stdc++.h> using namespace std; string s1,s2; bool cmp(string s1,string s2) //当s1>=s2 返回true { if(s1.size()==s2.size()) { return s1>=s2; } return s1.size()>s2.size(); } const int N=100010; int a[N],b[N],c[N]; int main() { cin>>s1>>s2; bool st=0; if(!cmp(s1,s2)) //判断是否是负数 { st=1; swap(s1,s2); } int lena=s1.size(); int lenb=s2.size(); int lenc=lena; for(int i=0,j=lena-1;j>=0;i++,j--) { a[i]=s1[j]-'0'; } for(int i=0,j=lenb-1;j>=0;i++,j--) { b[i]=s2[j]-'0'; } int t=0; for(int i=0;i<lena;i++) { c[i]=a[i]-b[i]+t; if(c[i]<0) { c[i]+=10; t=-1; } else { t=0; } } while(lenc>0&&c[lenc]==0) lenc--; if(st) cout<<"-"; for(int i=lenc;i>=0;i--) cout<<c[i]; return 0; }
- 1
Information
- ID
- 957
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 51
- Accepted
- 9
- Uploaded By