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