高精度乘法 用陣列模擬筆算

2021-04-13 12:55:29 字數 1175 閱讀 3384

/*高精度乘法

輸入:兩行,每行表示乙個非負整數(不超過10000位)

輸出:兩數的乘積。 

*/#include 

<

stdio.h

>

#include 

<

string

.h>

#include 

<

stdlib.h

>

#include 

<

memory.h

>

#define

max 10001

intbigchenfa(

int*

sum,

int*

a,int*b,

intlsum,

intla,

intlb)

return

lsum ;

}int

main(

void

),b[max]

=,sum[max*2

]=;intla=

0,lb=0

,lsum=0

;int

i,j ;

char

sa[max],sb[max] ;

scanf(

"%s %s

",sa,sb);

la =

strlen(sa);

lb =

strlen(sb);

for(i=1

,j=la-

1; i

<=

la ; i

++,j--)

a[i] 

=sa[j] -'

0';for(i=

1,j=lb

-1; i<=

lb ; i

++,j--)

b[i] 

=sb[j] -'

0';lsum 

=bigchenfa(sum,a,b,lsum,la,lb) ;

for(i

=lsum ; i

>=

1; i--)

printf("%d

",sum[i]);

printf(""

);system(

"pause");

return0;

}

高精度乘法(模擬)

思路 從下面第乙個數字開始遍歷,逐步乘以上面的每乙個數字,每乘一次就加到add陣列中,最重要的是每一次加你都要往前前移乙個位,比如35 7,首先5 7得35,那麼此時add陣列中就是35,接下來3 7得21,看下面 3 5 2 1 2 4 5 細節 1.只要其中乙個數是0,結果直接輸出,不用走下去,...

高精度乘法(大數模擬高精度 小數快速高精度取模)

實現 n個數相乘,求出最後的值。但是太慢了啊!超時。一位一位的乘。但是這個也是一種方法吧,簡單的高精度,等再學學優化一下。include include include include include include include include include include includeus...

高精度減法,高精度乘法

高精度減法 oj資料偏弱如果新增乙個101 2就錯了,下面這一步是為了防止錯誤的 if a aa 0 可能出現第一位的1被借走的的情況,所以加乙個while找第乙個不是0的 while c i 0 i include include include include include include u...