记录编号 |
339410 |
评测结果 |
AAAAAAAAAA |
题目名称 |
增强的除法问题 |
最终得分 |
100 |
用户昵称 |
Zwoi_只会打表抄代码的蒟蒻 |
是否通过 |
通过 |
代码语言 |
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;
}