1
查看原帖
1
1361086
wbx13947794262楼主2025/1/19 10:39
#include<bits/stdc++.h>
using namespace std;
char a[100010],b[100010];
int sa[100010],sb[100010],c[100010];
bool f(string &a,string &b)
{
	if(a.size()==b.size())
	{
	 	if(a<b)
		{
		 	swap(a,b);
		 	return 1;
		}
	}
	else 
	{
	 	if(a.size()<b.size())
	 	{
	 		swap(a,b);
			return 1; 
		}
	}
	return 0;
}
int main()
{
	string a,b;
	cin>>a>>b;
	bool x=f(a,b);
	int la=a.size(),lb=b.size();
	for(int i=1;i<=la;i++) sa[i]=a[la-i]-'0';
	for(int i=1;i<=lb;i++) sb[i]=b[lb-i]-'0';
	int len=max(la,lb);
	for(int i=1;i<=len;i++)
	{
		c[i]+=sa[i]-sb[i];
		if(c[i]<0)
        {
            c[i]+=10;
            c[i+1]-=1;
        }
	}
	while(len>1&&c[len]==0) len--;
	if(x) cout<<'-';
	for(int i=len;i>=1;i--) cout<<c[i];
}
2025/1/19 10:39
加载中...