首页 > 其他 > 详细

高精度乘以高精度

时间:2020-03-11 01:03:42      阅读:48      评论:0      收藏:0      [点我收藏+]
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N = 1e5;
 4 char A[N],B[N];
 5 int a[N],b[N],c[N],na,nb;
 6 void change(){
 7     for(int i=0; i<na; i++){
 8         a[na-i] = A[i] - 0;
 9     }
10     for(int i=0; i<nb; i++){
11         b[nb-i] = B[i] - 0;
12     }
13 }
14 int main(){
15     scanf("%s%s",A,B);
16     na = strlen(A);
17     nb = strlen(B);
18     change();
19     for(int i=1; i<=na; i++){
20         for(int j=1; j<=nb; j++){
21             c[i+j-1] += a[i]*b[j];
22             c[i+j] += c[i+j-1] / 10;
23             c[i+j-1] %= 10;
24         }
25     }
26     int nc = na+nb;
27     while(nc > 1 && !c[nc]) nc--;
28     for(int i=nc; i>=1; i--){
29         printf("%d",c[i]);
30     }
31     return 0;
32 }

 

高精度乘以高精度

原文:https://www.cnblogs.com/zhangqiling/p/12459958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!