高精度加法

2021-10-24 01:40:54 字數 1254 閱讀 2143

高精度加法直接模擬手算加法的過程,主要分為三步處理:

1.同位相加+進製

2.進製

3.存餘數

將加數1、加數2、和分別用三個陣列儲存,每個陣列元素再按照上述三步進行運算。

如圖:

注意的點:

1.輸入時按照字串輸入,要將其以int型資料存入陣列中,並且保證倒序存入:

lena=s1.

length()

; lenb=s2.

length()

;//將上述字串以int型資料存入陣列

//因為加法是從個位算起,所以儲存時到倒著存

for(int i=

1;i<=lena;i++

)for

(int j=

1;j<=lenb;j++

)

2.c陣列的長度暫時等於a、b陣列中長度較大的那個陣列長度。如果最高位有進製,說明c陣列的真正長度比它多1.

//開始模擬加法並將資料存入c陣列 

lenc=

max(lena,lenb)

;for

(int p=

1;p<=lenc;p++

)//處理c陣列的最高位

if(c[lenc+1]

>0)

lenc++

;

#include

.h>

using namespace std;

int a[

101]

,b[101

],c[

101]

;int main

(void

)for

(int j=

1;j<=lenb;j++

)//開始模擬加法並將資料存入c陣列

lenc=

max(lena,lenb)

;for

(int p=

1;p<=lenc;p++

)//處理c陣列的最高位

if(c[lenc+1]

>0)

lenc++

;//確定好c陣列的位數後,就可以倒序輸出了

for(int q=lenc;q>=

1;q--

)return0;

}

python高精度加法 高精度加法

1.思路 其實就是模擬,加法是最簡單的,從個位開始加,價位加到前一位,然後再取10的餘數。for int i 1 i len i 計算和 c i a i b i 進製 c i 1 c i 10 取10的餘數 c i 10 2.實現 int len max a.length b.length 倒著存,...

高精度加法 高精度減法

雖然以前自己就學習過,但是自己打出來的 目測效率不高,也不夠精簡 因此學習一下eden裡面的這一題 big integer add subtract ifndef big integer define big integer include include using std string usin...

高精度加法

program gjplus vars1,s2,s3,st,s string i,j,k,l1,l2,li,n1,n2,n3,n4 integer begin readln s1 readln s2 l1 length s1 l2 length s2 if l1 l2 then li l1 else...