1307:【例1.3】高精度乘法

简介: 1307:【例1.3】高精度乘法

1307:【例1.3】高精度乘法

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

输入两个高精度正整数M和N(M和N均小于100位)。求这两个高精度数的积。

【输入】

输入两个高精度正整数M和N。

【输出】

求这两个高精度数的积。

【输入样例】

36

3

【输出样例】

108

【来源】

1. #include <cstdio>
2. #include <cstring>
3. #include <iostream>
4. using namespace std;
5. int main()
6. {
7.  char ach[101],bch[101];
8.  int a[101],b[101],c[10001],lena,lenb,lenc,i,j,jw;
9.  memset(a,0,sizeof(a));
10.   memset(b,0,sizeof(b));
11.   memset(c,0,sizeof(c));
12.   scanf("%s",ach);
13.   scanf("%s",bch);
14.   lena=strlen(ach),lenb=strlen(bch);
15.   for(i=0;i<lena;i++) a[lena-i]=ach[i]-'0';
16.   for(i=0;i<lenb;i++) b[lenb-i]=bch[i]-'0';
17.   for(i=1;i<=lena;i++){
18.     jw=0;
19.     for(j=1;j<=lenb;j++){
20.       c[i+j-1]=a[i]*b[j]+jw+c[i+j-1];
21.       jw=c[i+j-1]/10;
22.       c[i+j-1]%=10;
23.     }
24.     c[i+lenb]=jw; 
25.   }
26.   lenc=lena+lenb;
27.   while(c[lenc]==0&&lenc>1) lenc--;
28.   for(i=lenc;i>0;i--) printf("%d",c[i]);
29.   printf("\n");
30.   return 0;
31.  }

No


相关文章
|
3月前
|
人工智能 算法 BI
一篇带你速通差分算法(C/C++)
一篇带你速通差分算法(C/C++)
|
机器学习/深度学习
1170:计算2的N次方
1170:计算2的N次方
150 0

热门文章

最新文章