记录编号 339410 评测结果 AAAAAAAAAA
题目名称 增强的除法问题 最终得分 100
用户昵称 GravatarZwoi_只会打表抄代码的蒟蒻 是否通过 通过
代码语言 C 运行时间 0.017 s
提交时间 2016-11-05 20:46:41 内存使用 0.29 MiB
显示代码纯文本
#include <stdio.h>
#include <string.h>
char a[210],b[210];
int p,l,c[120],la,lb;
void work()
{
	int i,j;
	i=0;
	while(1)
	{
		if(a[i]=='0')
			i++;
		else
		{
			j=i;
			break;
		}
	}
	for(;i<lb;i++)
		a[i]=a[i]-b[i]+'0';
	for(i=lb-1;i>j;i--)
		if(a[i]<'0')
		{
			a[i]+=10;
			a[i-1]--;
		}
	
	
}
int main()
{
	int i;
	freopen("div.in","r",stdin);
	freopen("div.out","w",stdout);
	scanf("%s",a);
	scanf("%s",b);
	la=strlen(a);
	lb=strlen(b);
	if(lb==1&&b[0]=='1')
	{
		printf("%s",a);
		return 0;
	}
	if((la<lb)||(la==lb&&strcmp(a,b)<0))
		printf("0");
	else
	{
		p=0;
		while(1)
		{
			c[p]=0;
			while(strncmp(a,b,lb)>=0)
			{
				work();
				c[p]++;
			}
			p++;
			if(la==lb) break;
			for(i=lb-1;i>=0;i--)              
				b[i+1]=b[i];     
            b[0]='0';
            lb++;			
            b[lb]='\0';    
		}
		i=0;    
		while(1)    
        {    
			if(c[i]==0)    i++;    
            else break;    
        }    
        for(;i<p;i++)    
        printf("%d",c[i]);    
	}
	return 0;
}