大數的加法乘法

2022-03-01 08:17:56 字數 612 閱讀 7532

大數自然不能用普通的int,或者long long.因為是肯定存不下的。所以就有兩個選擇,乙個是通過字串來進行運算,可以看之前的部落格。

這裡只介紹通過陣列進行的運算。

1.加法

比如要求 1234 + 456 的和,可將 :

1234 化為 a[0]=4(表示該數有多少位),a[1]=4,a[2]=3,a[3]=2,a[4]=1;

456 化為 b[0]=3(同理),b[1]=6,b[2]=5,b[3]=4;      (在這裡逆序排更方便些,正著也可以)

1

int lena=a[0];2

int lenb=b[0];3

4int s=0;5

for(int i=1;i<=lena;i++)614

}15if(s)

16

2.乘法

同理按上述的方法存放大數

1

intlena;

2int

lenb;34

int s=0;5

int c=0;6

for(j=1;j<=lena;j++)712

while

(c)13

大數加法,大數乘法

include include include typedef struct node pnode 函式宣告 int multiply char strmultipliera,char strmultiplierb,char strrst pnode initlist char strmultipl...

大數乘法 大數加法實現

include include include include include include include include using namespace std 實現兩個數的加法 判斷乙個字串是否為有效的數 bool isvalidnumber const string s if 1 len ...

大數加法 及 乘法

大數加法 比較好理解就不打注釋了 hdu1002 include include includeint main num2 1010 scanf s s s1,s2 printf case d n k int i,j,len1,len2 len1 strlen s1 len2 strlen s2 f...