NYOJ A*B problem

 

http://acm.nyist.net/JudgeOnline/problem.php?pid=485

 

 

 1  
 2 #include<stdio.h>
 3 #include<string.h>
 4 
 5 int main()
 6 {
 7     int T;
 8     scanf("%d",&T);
 9     while(T--)
10     {
11      int s=0,i,j,ma,mb,a1[20]={0},b1[20]={0},c[40]={0};
12      char a[20],b[20];
13      scanf("%s %s",a,b);
14      ma=strlen(a);
15      mb=strlen(b);
16      if((ma==1&&a[0]=='0')||(mb==1&&b[0]=='0'))
17      printf("0\n");
18      else
19      {
20      
21      for(i=ma-1,j=0;i>=0;i--)
22      a1[j++]=a[i]-'0';
23      for(i=mb-1,j=0;i>=0;i--)
24      b1[j++]=b[i]-'0';
25     
26     for(i=0;i<mb;i++)
27     {
28       for(j=0;j<ma;j++)
29       c[i+j]+=a1[j]*b1[i];
30     }
31     for(i=0; i<39; i++) 
32     {
33         if(c[i]>=10) 
34         {
35             c[i+1]+=c[i]/10;
36             c[i]%=10;
37         }
38     }
39 
40    
41     for(i=0;i<39;i++)
42     s+=c[i];
43     s%=9;
44     if(s==0)
45     printf("9\n");
46     else 
47     printf("%d\n",s);
48     } 
49     }
50     return 0;
51 }
52         

 

posted @ 2013-08-21 20:33  hpu张亚飞  阅读(209)  评论(0编辑  收藏  举报