UVA 10106

#include <stdio.h>
#include <string.h>
char a[300]={'\0'},b[300]={'\0'};
int mult[610]={0},na[300]={0},la,nb[300]={0},lb;
int main()
{
    int i,j;
    while(scanf("%s%s",a,b)==2)
    {
       la=strlen(a); lb=strlen(b);
       for(i=0;i<la;i++) na[i]=a[la-1-i]-'0';
       for(j=0;j<lb;j++) nb[j]=b[lb-1-j]-'0';
       memset(mult,0,sizeof(mult));
       for(i=0;i<la;i++)
          for(j=0;j<lb;j++)
          {
             mult[i+j]+=na[i]*nb[j];
             if(mult[i+j]>=0)
             {
                mult[i+j+1]+=mult[i+j]/10;
                mult[i+j]%=10;
             }
          }
       la+=lb;
       while(!mult[la-1]&&la-1) la--;
       for(i=la-1;i>=0;i--)
          printf("%d",mult[i]);
       printf("\n");
    }
    return 0;
}

 

posted @ 2012-04-28 11:49  open your eyes  阅读(164)  评论(0编辑  收藏  举报