模拟乘法运算
#include<stdio.h>
#include<math.h>
__int64 sum,ss;
int main()
{
int i,b,j,len1,len2,p,len,c,flag,k;
int t=1;
while(scanf("%d%d",&b,&c),b||c)
{
sum=b*c;
ss=sum;
len=0;
while(ss)
{
ss=ss/10;
len++;
}
printf("Problem %d\n",t++);
flag=0;
len1=(int)log10(b)+1;
len2=(int)log10(c)+1;
for(i=0;i<len-len1;i++)
printf(" ");
printf("%d\n",b);
for(i=0;i<len-len2;i++)
printf(" ");
printf("%d\n",c);
for(i=0;i<len;i++)
printf("-");
printf("\n");
p=0;j=0;
while(c)
{
k=c%10; c=c/10;
if(k==0){flag++;p++;continue;}
len1=k*b;
len2=(int)log10(len1)+1;
for(i=0;i<len-len2-p;i++)
printf(" ");
printf("%d",len1);
while(flag--)
{
printf("0");
}
flag=0;
printf("\n");
p++;j++;
}
if(j>1)
{
for(i=0;i<len;i++)
printf("-");
printf("\n");
printf("%I64d\n",sum);
}
}
return 0;
}