2 条题解
-
-1
#include <bits/stdc++.h> using namespace std; const int MAXN=1e4+4; char s1[MAXN]={},s2[MAXN]={},tmp[MAXN]={}; int a[MAXN]={},b[MAXN]={},c[MAXN]={}; int main() { cin>>s1>>s2; int lena=strlen(s1),lenb=strlen(s2); if((lena<lenb)||(lena==lenb&&strcmp(s1,s2)<0)) { printf("-"); strcpy(tmp, s1); strcpy(s1, s2); strcpy(s2, tmp); lena=strlen(s1); lenb=strlen(s2); } for(int i=0;i<lena;i++)a[i]=s1[lena-i-1]-'0'; for(int i=0;i<lenb;i++)b[i]=s2[lenb-i-1]-'0'; for(int i=0;i<lena;i++) { if(a[i]<b[i]) { a[i+1]--; a[i]+=10; } c[i]=a[i]-b[i]; } for(int i=lena-1; i>=0; i--) { if(0==c[i]&&lena>1)lena--; else break; } for(int i=lena-1;i>=0;i--)cout<<c[i]; return 0; }
信息
- ID
- 1677
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 151
- 已通过
- 54
- 上传者