11 大整數減法

2021-10-04 07:15:23 字數 1272 閱讀 4436

**

描述求兩個大的正整數相減的差。

輸入

共2行,第1行是被減數a,第2行是減數b(a > b)。每個大整數不超過200位,不會有多餘的前導零。

輸出

一行,即所求的差。

樣例輸入

9999999999999999999999999999999999999

9999999999999

樣例輸出

原始碼

#include

#include

#include

#define maxlen 200

using

namespace std;

intmain()

, a[maxlen +1]

=, b[maxlen +1]

=;scanf

("%s\n"

, buff)

; tmp =0;

for(i =

strlen

(buff)-1

; i >=

0; i--

) a[tmp++

]= buff[i]

-'0'

;scanf

("%s"

, buff)

; tmp =0;

for(i =

strlen

(buff)-1

; i >=

0; i--

) b[tmp++

]= buff[i]

-'0'

;for

(i =

0; i < maxlen; i++

)else up =0;

}for

(i = maxlen; i >=

0; i--)if

(a[i]!=0

)for

(i; i >=

0; i--

)printf

("%d"

, a[i]);

return0;

}

大整數 減法

本文主要給出大數減法的一般思路。關於大數的一般性闡述可以參看大整數 加法 demo這篇部落格。基本來說,還是大整數的那套思路。要進行處理的數字,超過了計算機語言所能提供型別的最大範圍。只能自己寫陣列儲存每一位數字。由於不是內建型別,所以沒有相應操作的支援。只能自己寫,人工模擬減法操作。當然,具體寫的...

大整數減法

include stdafx.h include substr.h includeusing namespace std define max lenth 201 void sub int len,int bignuma,int bignumb printf d n 10 bignuma 0 els...

大整數減法

求兩個大的正整數相減的差。共2行,第1行是被減數a,第2行是減數b a b 每個大整數不超過200位,不會有多餘的前導零。一行,即所求的差。跟加法一樣,從後向前按位減法,不夠減則向前借位。include include define max 202 最高位為200 int main for j 0 ...