大整數運算

2021-08-15 01:53:26 字數 2808 閱讀 4275

大整數加法

**實現:

#include

#include

intmain

() c[lenc]=x;

while

(c[lenc]==

0&&lenc>1)

lenc--;

for(

int i=lenc;i>=

1;i--)

printf

("%d"

,c[i]);

return0;

}

大整數減法

**實現:

#include

#include

intmain

(),b[

205]=

{},c[

205]={};

if(lenastrcmp

(n1,n2)<0))

lena=

strlen

(n1);

lenb=

strlen

(n2);

for(

int i=

0;i<=lena-1

;i++)

a[lena-i]=n1[i]-48;

for(

int i=

0;i<=lenb-1

;i++)

b[lenb-i]=n2[i]-48;

int x=1;

while

(x<=lena)

c[x]=a[x]-b[x];

x++;

}int lenc=x;

while

(c[lenc]==

0&&lenc>1)

lenc--;

for(

int i=lenc;i>=

1;i--)

printf

("%d"

,c[i]);

return0;

}

大整數乘法

**實現:

#include

#include

intmain

(),b[

200]=

{},c[

400]={};

for(

int i=

0;ia[lena-i]=a1[i]-48;

for(

int i=

0;ib[lenb-i]=b1[i]-48;

int x=0;

int lenc=0;

for(

int i=

1;i<=lena;i++)

c[i+lenb]=x;

} lenc=lena+lenb;

while

(c[lenc]==

0&&lenc>1)

lenc--;

for(

int i=lenc;i>=

1;i--)

printf

("%d"

,c[i]);

}

大整數除法(高精除以低精)

**實現:

#include

#include

intmain

(),c[

100]={};

int b,x=

0,lenc;

gets

(a1);

scanf

("%d"

,&b);

int lena=

strlen

(a1);

for(

int i=

0;i<=lena-1

;i++)

a[i+1

]=a1[i]-48;

for(

int i=

1;i<=lena;i++)

lenc=1;

while

(c[lenc]==

0&&lenclenc++;

for(

int i=lenc;i<=lena;i++)

printf

("%d"

,c[i]);

return0;

}

大整數除法(高精除以高精)

**實現:

#include

#include

#include

using

namespace std;

void

bigchu

(char

*a,char

*b,char

*c,int

& lc)}if

(f1)

break

;for

(int j=lb-1

; j>=

0; j--)

if(a[i+j]>=b[j])

a[i+j]-=b[j]-

'0';

else a[i+j]+=

10-b[j]+

'0',a[i+j-1

]--;

c[lc]++;}if

(c[lc]!=

'0'||i!=

0) lc++;

i++;}}

intmain

()

超長整數運算(大整數運算)

問題描述 將形如1234567890123456789不能儲存在long變數中的數稱為超長整數或大整數。現討論大整數的加減乘除運算。思想方法 用陣列儲存超長整數,且為處理的簡單起見約定每個元素存放相同位的數字。如 每個元素存放4位。1 加法運算 void add int a,int b,int c ...

大整數運算

包括大整數的四則運算,一般都是用陣列來模擬大整數的,如果是每一位陣列只存一位數的話,空間浪費比較嚴重,所以這裡每一位陣列儲存4位數,所以是10000進製。加法 輸入 不超過兩百位的非負整數,可能有多餘的前導零。輸出 相加後的結果,不能有多餘的前導零 首先是一些基本的常量定義 define bir 1...

大整數運算

大整數儲存 由於大整數超過int範圍,因此需要運用陣列進行儲存。但是在進行大整數儲存過程中為了方便獲取大整數長度,我們還會定義乙個int型變數len來記錄陣列長度,由此可得結構體型別如下 struct bign 進行輸入時是先用字串讀入,然後再把字串另存為bign結構體。由於讀入順序與整數在陣列中的...