Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
106753 | 朱悦晨 | 高精度减法 | C++ | 通过 | 100 | 0 MS | 316 KB | 736 | 2023-10-14 20:19:25 |
#include <bits/stdc++.h> using namespace std; int main(){ int i,j,flag=0; string a_s,b_s; int a[5011]={0},b[5011]={0},ans[5011]={0}; cin>>a_s>>b_s; int len_a=a_s.length(),len_b=b_s.length(); int len=len_a>len_b?len_a:len_b; for(i=0;i<len_a;i++) a[i]=a_s[len_a-1-i]-'0'; for(i=0;i<len_b;i++) b[i]=b_s[len_b-1-i]-'0'; if(len_a>len_b||len_a==len_b&&a_s>=b_s){ for(i=0;i<len;i++){ if(a[i]<b[i]){ a[i+1]--; a[i]+=10; } ans[i]=a[i]-b[i]; } } else{ flag=1; for(i=0;i<len;i++){ if(b[i]<a[i]){ b[i+1]--; b[i]+=10; } ans[i]=b[i]-a[i]; } } if(flag) cout<<"-"; while(ans[len]==0&&len>0) len--; for(i=len;i>=0;i--){ cout<<ans[i]; } return 0; }