ddddddddddddddddddddddddddd
查看原帖
ddddddddddddddddddddddddddd
1026903
luyiping楼主2025/1/19 11:03
#include<bits/stdc++.h>
using namespace std;
char a[100010],b[100010];
int sa[100010],sb[100010],c[100010];
bool check(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 t = check(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(t) 
		cout<<'-';
	for(int i = len;i >= 1;i--) 
		cout<<c[i];
}
2025/1/19 11:03
加载中...