高精度基礎2:a-b問題
阿新 • • 發佈:2018-11-12
專題連結:高精度題表
題目傳送門
題目大意:
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 分別用變數 na,nb 來記錄每個序列的長度(這個數有多少位),na=9 ,nb=8;
2、模擬豎式計算:
2.1 因為全部數字是翻轉的,所以個位在左邊,最高位在右邊:
2.2 對 a [ ] ,b [ ] 的各數位分別求差,直接儲存到 c [ ] 陣列中:
2.3 對 c [ ] 陣列:從左向右,依次借位,得到新的 c [ ] 陣列:
3、反向逐位輸出:
3.1 因為數位對齊,從個位開始,所以要反向輸出。
===========================================================================================
思路看懂了嗎?彆著急,還有很多細節處理要學習,下面是程式碼和解釋