1 6 11 大整數減法

2022-08-12 18:57:13 字數 1003 閱讀 5635

描述

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

輸入共2行,第1行是被減數a,第2行是減數b(a > b)。每個大整數不超過200位,不會有多餘的前導零。輸出一行,即所求的差。樣例輸入

9999999999999999999999999999999999999

9999999999999

樣例輸出

9999999999999999999999990000000000000
1 #include 2 #include

3int a[201]=, b[201]=;

4int

i, ka, kb, k,c,temp,len;

5char s[201];6

void

minus()715

else

16 c=0

;17 a[i] = a[i]+c*10 -b[i];

18 k=ka;

19while(a[k-1]==0 && k>0

)20 k--;21}

22}23int

main()

2432 ka=k;

33 scanf("%s"

,s);

34 k=0;len=strlen(s);

35while(k3640 kb=k;

41if(ka >= kb) k =ka;

42else

43 k =kb;

44for(i = 0; i < ka/2; i++)

4550

for(i = 0; i < kb/2; i++)

5156 c=0;57

minus();

58for(i = k-1; i >= 0; i--)

59 printf("%d"

,a[i]);

60return0;

61 }

大整數 減法

本文主要給出大數減法的一般思路。關於大數的一般性闡述可以參看大整數 加法 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 ...