1. 程式人生 > >高精度基礎2:a-b問題

高精度基礎2:a-b問題

專題連結:高精度題表  

題目傳送門

題目大意:

1、給出兩個大整數a,b,求a=b;

2、保證 a>b;

====================================================================

詳細分析:

1、讀入+儲存+逆序對齊

1.1 用  s [   ]  陣列來儲存第一個字串

1.2 將 s [   ]  陣列的 字串,逆序放入 a [   ] 陣列中,以第一位作為個位,翻轉對齊,方便運算;

 

1.3 重複利用 s [   ]  陣列來儲存第二個字串

1.4 將 s [   ]  陣列的 字串,逆序放入 b [   ] 陣列中,以第一位作為個位,翻轉對齊,方便運算;

 

1.5 到這個時候,我們得到了 a [   ] b [   ] 兩個陣列,分別儲存了兩個將要計算的整數(其實是兩個序列)

1.6 分別用變數 nanb 來記錄每個序列的長度(這個數有多少位),na=9

nb=8

 

2、模擬豎式計算:

2.1 因為全部數字是翻轉的,所以個位在左邊,最高位在右邊:

 

2.2 對 a [   ]b [   ] 的各數位分別求差,直接儲存到 c [   ] 陣列中:

 

2.3 對 c [   ] 陣列:從左向右,依次借位,得到新的 c [   ] 陣列:

 

 

3、反向逐位輸出:

3.1 因為數位對齊,從個位開始,所以要反向輸出。

 

 

===========================================================================================

思路看懂了嗎?彆著急,還有很多細節處理要學習,下面是程式碼和解釋