大數運算 2 大數加法

2021-08-15 10:03:21 字數 1065 閱讀 1534

/*大數加法的中心思想就是:模擬人工列豎式算加法的方法。先從最低位開始相加,判斷是否進1,一直到最高位。

例如:求12545642233+278545的和,該怎麼算?

是這樣的:

3  3  2  2  4  6  5  4  5  2  1  0

+  2  7  8  5   4  5  0  0  0  0  0  0

————————————————

5    //不進製,繼續算下一位

0    //進製為1,並儲存其各位數0

1   //2+8=10,10+1=11,同樣,進製為1,並儲存其各位數1

8   //不進製,繼續算下一位

————————>

由低位向高位相加計算,注意判斷是否進製!計算結束後,注意判斷最後所得陣列的長度,並去掉前導0。

下面是c語言**實現:

#include#includeint x[100]=,y[100]=,z[105]=;//將陣列元素全部初始化為0   

int main()

for(i=len2-1;i>=0;i--)

if(len1>len2)

len=len1;

else

len=len2;

i=0;//從最低位(個位)開始進行計算

int m=0;

for(i=0;i=10)

m=1;

else

m=0;

} if((x[i-1]+y[i-1]+m)>=10)//判斷運算的最大位的和是否》=10

z[i]=1;

else

i=i-1;

for(;i>=0;i--)//到序輸出陣列

printf("%d",z[i]);

printf("\n");

} return 0;

}

另外:有時,你可能會遇到大數,但他是小數,例如125454521564564.56456132145645這樣的,所以可以以小數點為界限,進行相加減。*/

1005 大數加法

1005 大數加法 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 題目位址 給出2個大整數a,b,計算a b的結果。input 第1行 大數a 第2行 大數b a,b的長度 10000 需注意 a b有可能為負數 output 輸出a binput示例 68932147...

1005 大數加法

給出2個大整數a,b,計算a b的結果。input 第1行 大數a 第2行 大數b a,b的長度 10000 需注意 a b有可能為負數 output 輸出a binput示例 68932147586 468711654886output示例 537643802472 include include...

大數運算 加法

include include include void add const char a,const char b,char c if carry 0 result result length carry 0 while result length 0 c result result length...