#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[205],b[205],c[220],pos;
int main()
{
cin>>s1>>s2;
if(s1.size()<s2.size()||(s1.size()==s2.size()&&s1<s2))//将大的数放到s1中,s2中保留小的数
{
cout<<'-';
swap(s1,s2);
}
for(int i=0;i<s1.size();i++)
a[i]=s1[s1.size()-i-1]-'0';//将数反过来存
for(int i=0;i<s2.size();i++)
b[i]=s2[s2.size()-i-1]-'0';
for(int i=0;i<s1.size();i++)
{
if(a[i]<b[i])
{
a[i+1]--;
a[i]+=10;
}
c[i]=a[i]-b[i];
}
for(int i=s1.size()-1;i>=0;i--)
if(c[i]!=0)//去除0
{
pos=i;
break;
}
for(int i=pos;i>=0;i--)
cout<<c[i];
return 0;
}
信息学奥赛一本通:1169:大整数减法
最新推荐文章于 2024-05-11 20:36:24 发布