大整數乘法。

2021-06-12 23:26:45 字數 565 閱讀 7009

#include

using namespace std;

int *multi(int *num1,int size1,int*num2,int size2)

int size =size1+size2;

int *ret=new int [size];

int i=0;

for(i=0;iret[i]=0;

for(i=0;iint k=i;

for(int j=0;jret[k++]+=num2[i]*num1[j];

for(i=0;iif(ret[i]>=10)

ret[i+1]+=ret[i]/10;

ret[i]=ret[i]%10;

return ret;

int main()

int num1=;//第乙個大整數11111987654321

intnum2=;//第二個大整數55444333222111

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

for(inti=27;i>=0;i--)

coutreturn0;

大整數乘法

參考 http hi.baidu.com operationsystem blog item 6e45dd1af1acadf3ae51330b.html 在計算機中,長整型 long int 變數的範圍是 2147483648 至 2147483647,因此若用長整型變數做乘法運算,乘積最多不能超過...

大整數乘法

問題描述 by 計算機演算法設計與分析 王曉東 p17 通常,在分析乙個演算法的計算複雜性時,都將加法和乘法運算當作是基本運算來處理,即將執行一次加法或乘法運算所需的計算時間當作乙個僅取決於計算機硬體處理速度的常數。這個假定僅在計算機硬體能對參加運算的整數直接表示和處理時才是合理的。然而,在某些情況...

大整數乘法

高精度計算需要注意的幾個問題 1.用字串的讀入方式,再按字元分別轉成數字2.不能用數值型的讀入方式 二 計算過程中考慮進製和借位問題 先不急於處理,在計算結束時處理 1.陣列第i元素 10 或 0 需要考慮2.從上位增或減1,本位減或加10三 輸出時注意跳過高位多餘的0四 陣列需要稍微大一些,避免運...