演算法之美 大整數乘法問題

2021-09-07 07:54:59 字數 699 閱讀 5667

陣列可以實現的演算法很多,典型應用就是大整數相乘問題。利用的思想非常巧妙,感覺和鍊錶實現多項式運算有異曲同工,大整數相乘主要避免計算機儲存精度不夠的時候。按照基本的乘法運算實現即可!

主要注意返回指標型別,和關鍵點k=i的技巧。

/*

! * \file 演算法之美--大整數乘法問題.cpp

* * \author ranjiewen

* \date 2016/12/04 15:58

* * */

#include

using

namespace

std;

#define size 14

int *multi(int *_num1, int size1, int *_num2, int

size2)

}for (int i = 0; i < size;i++)

}return

ret;

}int main(int argc, char**agrv)

;

int num2[size] = ;

int *ret =multi(num1,size,num2,size);

for (int i = 2 * size - 1; i >= 0;i--)

delete

ret;

return0;

}

演算法 大整數乘法

問題描述 求兩個不超過200位的非負整數的積。輸入形式 有兩行,每行是乙個不超過200位的非負整數,沒有多餘的前導0。輸出形式 一行,即相乘後的結果。結果裡不能有多餘的前導0,即如果結果是342,那麼就不能輸出為0342。樣例輸入 1234567890 9876543210 樣例輸出 1219326...

大整數乘法問題

大整數乘法問題 應用陣列解決,由於計算機的精度是有限的,因此單純使用程式語言提供的原子資料型別來 完成兩個大整數的乘法顯然是不切實際的。可以考慮用兩個陣列來分別儲存一些大於10的整數,這些數字按順序 排列在一起,分別表示乙個大整數的每一位上的數字,於是大整數的儲存問題就解決了。然後按照基本乘法規則 ...

分治演算法 大整數乘法

用分治演算法程式設計實現兩個n 位十進位製大整數的乘法運算。分析 用分治演算法程式設計實現兩個n 位十進位製大整數的乘法運算。演算法描述 兩個十進位制的數 x y x a 10 n1 b y c 10 n2 d 則 x y a 10 n1 b c 10 n2 d 設乙個陣列,將其看做10000 進製...