2007年7月8日 星期日

Problem 10106 Product,大數相乘

p10106就是要計算兩個整數的相乘,只是這兩個整數可以大到250位數。

題目的讀取適用字串來進行。

解題的邏輯是小學的乘法。可是我就是笨笨的做了好一會,才做完。
讀進來的數字從字元轉數字就直接減 48 就可以了。進位的部份只有兩個觀念。
1. 計算這個位數的值,亦即加上進位後去%10。
2.計算這個位數產生的進位值。

為了只用到一個進位變數addOne,所以要借用一下temp來暫存。程式大概如下:
            temp = (ansNum[i] + addOne)%10;
addOne = (ansNum[i]+addOne)/10;
ansNum[i] = temp;

p10106 問題連結
ACM 題庫目錄
回到首頁

沒有留言: