跪求帮忙找问题
查看原帖
跪求帮忙找问题
529038
Butterfly__qwq楼主2022/1/12 20:51
#include<bits/stdc++.h>
using namespace std;
int p[10086],q[10086],r[10087];
string _cmp;
string a,b;
bool check()
{
	if(b.size()>a.size())return true;
	if(a.size()>b.size())return false;
	for(int i=0;i<a.size();i++)
	{
		if(b[i]>a[i])return true;
		if(a[i]>b[i])return false;
	}
	return false;
}
//void jia()
//{
//	int jinwei=0,s=a.size()-1,x=b.size()-1;
//	for(int i=0;i<a.size();i++)
//	{
//		p[i]=a[s]-'0';
//		s--;
//	}
//	for(int i=0;i<b.size();i++)
//	{
//		q[i]=b[x]-'0';
//		x--;
//	}
//	int l=max(a.size(),b.size());
//	for(int i=0;i<l;i++)
//	{
//		r[i]=p[i]+q[i]+jinwei;
//		jinwei=r[i]/10;
//		r[i]%=10;
//	}
//	if(jinwei!=0){r[l]=jinwei;l++;}
//	for(int i=l-1;i>=0;i--)cout<<r[i];
//}
void jian()
{
	if(check())
	{
		_cmp=a;
		a=b;
		b=_cmp;
		cout<<'-';
	}
	int s=a.size()-1,x=b.size()-1;
	for(int i=0;i<a.size();i++)
	{
		p[i]=a[s]-'0';
		s--;
	}
	for(int i=0;i<b.size();i++)
	{
		q[i]=b[x]-'0';
		x--;
	}
	int l=max(a.size(),b.size());
	for(int i=0;i<l;i++)
	{
		if(p[i]-q[i]<0)
		{
			p[i]+=10;
			p[i+1]--;
		}
		r[i]=p[i]-q[i];
	}
	int flg=0;
	for(int i=l-1;i>=0;i--)
	{
		if(r[i]==0&&flg==0)continue;
		if(r[i]!=0)flg=1;
		cout<<r[i];
	}
}
int main()
{
	getline(cin,a);
	getline(cin,b);
//	jia();
//	cout<<endl;
	jian();
	return 0;
}
/*61496424168301398167071002863206798
  80528957242889363059724546633805992
  -19032533074587964892653543770599194
*/

这里提交没问题的。

2022/1/12 20:51
加载中...