描述
求兩個大的正整數相減的差。
輸入共2行,第1行是被減數a,第2行是減數b(a > b)。每個大整數不超過200位,不會有多餘的前導零。輸出一行,即所求的差。樣例輸入
9999999999999999999999999999999999999樣例輸出9999999999999
9999999999999999999999990000000000000
1 #include 2 #include3int 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 ...