求大佬帮看看
查看原帖
求大佬帮看看
475143
gaojian2007楼主2021/8/10 18:40
#include<cstring>
using namespace std;
int na,nb,nc,c[90001],a[90001],b[90001],s;
int pd(int q[],int p[],int n,int nn)
{
	if(n>nn)return 1;
	if(n<nn)return -1;
	for(int i=n;i>=1;i--)
	{
		if(q[i]<p[i])return -1;
		if(q[i]>p[i])return 1;
	}
	return 0;
}
int main()
{
	char a1[90001],b1[90001];
	cin>>a1>>b1;
	s=na=strlen(a1);
	nb=strlen(b1);
	for(int i=1;i<=na;i++)
	a[i]=a1[na-i]-'0';
	for(int i=1;i<=nb;i++)
	b[i]=b1[nb-i]-'0';
	nc=na-nb+1;
	for(int i=nc;i>=1;i--)
	{
		nc++;
		int nt,t[90001]={};
		if(pd(a,b,na,nb)>=0)
		{
			for(int j=na-nb+1;j<=na;j++)
			{
				t[j]=b[j-(na-nb)];
			}
			nt=na;
		}
		else
		 break; 
		while(pd(a,t,na,nt)>=0)
		{
			c[i]++;
			for(int j=1;j<=na;j++)
			{
				if(a[j]-t[j]<0)
				{
					a[j+1]--;
					a[j]+=10; 
				}
				a[j]-=t[j];
			}
			while(na>0&&!a[na])na--;
		}
	}
	while(nc>0&&!c[nc])nc--;
	for(int i=nc;i>=1;i--)
	cout<<c[i];
	return 0;
} ```
2021/8/10 18:40
加载中...