| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
lujie#include"stdio.h"
#include"string.h"
static int p1[200],p2[200],result[200];
char size1[200],size2[200];
int substract(int *p1,int *p2,int len1,int len2)
{
int i;
if(len1<len2)
return -1;
if(len1==len2)
{
for(i=len1-1;i>=0;i--)
if(p1[i]<p2[i])
return -1;
}
for(i=0;i<len1;i++)
{
p1[i]-=p2[i];
if(p1[i]<0)
{
p1[i]+=10;
p1[i+1]--;
}
}
for(i=len1-1;i>=0;i--)
if(p1[i]>0)
return i+1;
else if(p1[i]<0)
return -1;
else
continue;
}
main()
{
int k=0,i,j,n,a,ntimes,ntmp,t,len1,len2;
scanf("%d",&n);
for(t=0;t<n;t++)
{
scanf("%s",size1);
scanf("%s",size2);
a=len1=strlen(size1);
len2=strlen(size2);
for(j=len1-1;j>=0;j--)
p1[k++]=size1[j]-'0';
for(j=len2-1,k=0;j>=0;j--)
p2[k++]=size2[j]-'0';
if(len1<len2)
{
printf("0\n");
continue;
}
ntimes=len1-len2;
if(ntimes>=0)
{
for(j=len1-1;j>=0;j--)
if(j>=ntimes)
p2[j]=p2[j-ntimes];
else
p2[j]=0;
}
len2=len1;
for(i=0;i<=ntimes;i++)
{
while(ntmp=substract(p1,p2+i,len1,len2)>=0)
{
len1=ntmp;
result[ntimes-i]++;
}
len2--;
}
for(i=a,k=0;i>=0;i--)
{
if(k)
printf("%d",result[i]);
else if(result[i]!=0)
{
t=1;
printf("%d",result[i]);
}
}
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator