/*大數加法的中心思想就是:模擬人工列豎式算加法的方法。先從最低位開始相加,判斷是否進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...