高精度乘高精度

2021-10-24 01:51:12 字數 1061 閱讀 1570

思路:用vector表示大整數,整數的低位存在陣列索引的低位;

a x b = c其中c的每一位(如第3位),是由ab的相應位相乘累加,處理後得到(如:1+2, 2+1)。

#include

using

namespace std;

const

int demical =10;

void

input

(string s, vector<

int>

&bignumber)

}vector<

int>

mutiply

(vector<

int>

& a, vector<

int>

& b)

} c.

push_back

(t % demical)

; t /

= demical;

}while

(t)while

(c.size()

>

1&& c.

back()

==0)return c;

}int

main

(void))

; cout << endl;

numbera.

clear()

; numberb.

clear()

;}return0;

}

輸入示例:case1.input.txt

1 2

3 11

14512451451245124512 15125125124512451245

輸出示例:case1.output.txt

2

33219502644063494817653152060344354417440

高精度乘高精度

c a b a b均是高精度數 比如a 156,b 3,求a b 很容易知道答案是468,怎樣算的呢?首先讓3 6 18,然後向進一位,並且這位只保留8 讓3 5 進製1 16,然後向前進一位,並且這位只保留6 讓3 1 進製1 4,此時不向前進製,保留4 所以最終答案是468 通過這個例子我們再來...

大數相乘「高精度乘低精度」和「高精度乘高精度」

二 高精度乘高精度 如下 由於計算機的儲存位元組有限,所以不能完整表示乙個很大整數的精確值,這時候就得用到其他的方法,稱之為高精度演算法。這裡的高精度乘法主要指按位模擬乘法,實際上就是模擬乘法的過程,也就是筆算的過程。高精度乘低精度,即乙個大數與乙個小於10000的數相乘,大數使用字串來進行儲存,較...

演算法 高精度乘法2(高精度乘高精度)

題目描述 高精度乘,求兩個很大的非負整數相乘的結果。輸入 2個非負整數,每個一行,每個整數不超過240位。輸出 乙個整數,表示相乘的結果。例子 為了和演算法對應方便,用上面數乘下面數的方法12 5 2512 5502 5312 5為了運算方便,將上面兩數倒置,得到的結果也為倒序下標0 1234 56...