2980:大整数乘法

转载请注明出处:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     string s1,s2;
 7     cin>>s1>>s2;
 8     int a[240]={0}, b[240]={0}, c[500]={0};
 9     a[0]=s1.length();
10     b[0]=s2.length();
11     c[0]=a[0]+b[0]+1;
12     int i, j;
13     for(i=1; i<=a[0]; i++)
14     {
15         a[i]=s1[a[0]-i]-'0';
16     }
17     for(i=1; i<=b[0]; i++)
18     {
19         b[i]=s2[b[0]-i]-'0';
20     }
21     for(i=1; i<=a[0]; i++)
22     {
23         for(j=1; j<=b[0]; j++)
24         {
25             c[i+j]+=a[i]*b[j];
26             c[i+j+1]+=c[i+j]/10;
27             c[i+j]%=10;
28         }
29     }
30     while(c[c[0]]==0)
31     c[0]--;
32     if(c[0]<2)
33     cout<<0;
34     else
35     for(i=c[0]; i>1; i--)
36     {
37         cout<<c[i];
38     }
39 }

 

posted @ 2018-02-09 15:50  nefuer  阅读(159)  评论(0)    收藏  举报