码迷,mamicode.com
首页 > 其他好文 > 详细

P1303 A*B Problem

时间:2018-01-21 01:07:46      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:--   乘法   har   def   ==   1.3   pen   max   none   

高精度乘法

 

  没啥好说了

  首先,一个int存一个数浪费,最后溢出改longlong(这也是浪费啊!!!),这就不提。。。

  注意补全输出到六位!

技术分享图片
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int n;
 5 char a[10000],b[10000];
 6 long long s1[10000],s2[10000],ans[100000];
 7 const long long mod=1e6;
 8 //struct yl{
 9 //    int num,val;
10 //}s[50010];
11 //int tree[50000];
12 //bool cmp(yl p,yl q)
13 //{
14 //    return p.val>q.val;
15 //}
16 //void add(int a,int b,int c)
17 //{
18 //    r++;
19 //    q[r].x=a;q[r].y=b;q[r].w=c;
20 //}
21 
22 
23 //#define nx x+d[h][0]
24 //#define ny y+d[h][1]
25 
26 inline int read()
27 {
28     char ch=getchar();
29     int k=0;
30     while (ch<0 || ch>9) {
31         ch=getchar();
32     }
33     while (ch>=0&&ch<=9) k=k*10+(ch^48),ch=getchar();
34     return k;
35 }
36 
37 int main()
38 {
39     scanf ("%s %s",a,b);
40     int lena=strlen(a);
41     int lenb=strlen(b);
42     int len=0;
43     for (int i=lena-1,j=i-5;i>=0;i-=6,j-=6)
44     {
45         if (j<0) j=0;
46         for (int k=j;k<=i;k++)
47         s1[(lena-i-1)/6]=s1[(lena-i-1)/6]*10+a[k]-0;
48     }
49     for (int i=lenb-1,j=i-5;i>=0;i-=6,j-=6)
50     {
51         if (j<0) j=0;
52         for (int k=j;k<=i;k++)
53         s2[(lenb-i-1)/6]=s2[(lenb-i-1)/6]*10+b[k]-0;
54     }
55     for (int i=0;i<=lena/6;i++)
56         for (int j=0;j<=lenb/6;j++)
57         {
58             ans[i+j+1]+=(s1[i]*s2[j]);
59             ans[i+j+2]+=(ans[i+j+1]/mod);
60             ans[i+j+1]%=mod;
61             if (ans[i+j+1]!=0) len=max(len,i+j+1);
62             if (ans[i+j+2]!=0) len=max(len,i+j+2);
63         }
64     for (int i=len;i>0;i--) 
65     {
66         if (i!=len) printf("%06lld",ans[i]); 
67         else printf("%lld",ans[i]); 
68     }
69     if (len==0) printf("0\n");
70     return 0;
71 } 
蒟蒻勿喷
  • C++,1.33KB
  • 耗时/内存0ms, 2257KB

P1303 A*B Problem

标签:--   乘法   har   def   ==   1.3   pen   max   none   

原文地址:https://www.cnblogs.com/rtyz/p/8322315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!