當兩個比較大的整數相乘時,可能會出現資料溢位的情形。為避免溢位,可以採用字串的方法來實現兩個大數之間的乘法。具體來說,首先以字串的形式輸入兩個整數,每個整數的長度不會超過8位,然後把它們相乘的結果儲存在另乙個字串當中(長度不會超過16位),最後把這個字串列印出來。例如,假設使用者輸入為:62773417和12345678,則輸出結果為:774980393241726.
輸入:
62773417 12345678
輸出:
774980393241726
主要注意的是進製的問題。。。。
#include #includevoid multiply(char *s, char *s1, char *s2)
else
k ++;
}if(count > 0
) s2[k] = count + '0'
; }
//下面這種方式只能避免最後乙個0,最後輸出的時候還是要在非0時開始輸出
//更簡單的方式是將k定義全域性變數,故在輸出時候不用strlen求長度
if(!(s2[k] > '
0' || s2[k] == '\0'
)) s2[k] = '\0'
;
else
if(s2[k] > '0'
)
}int
main()
演算法提高 P1001
當兩個比較大的整數相乘時,可能會出現資料溢位的情形。為避免溢位,可以採用字串的方法來實現兩個大數之間的乘法。具體來說,首先以字串的形式輸入兩個整數,每個整數的長度不會超過8位,然後把它們相乘的結果儲存在另乙個字串當中 長度不會超過16位 最後把這個字串列印出來。例如,假設使用者輸入為 6277341...
演算法提高 P1001
演算法提高 p1001 時間限制 1.0s 記憶體限制 256.0mb 當兩個比較大的整數相乘時,可能會出現資料溢位的情形。為避免溢位,可以採用字串的方法來實現兩個大數之間的乘法。具體來說,首先以字串的形式輸入兩個整數,每個整數的長度不會超過8位,然後把它們相乘的結果儲存在另乙個字串當中 長度不會超...
演算法提高 P1001
必須感嘆下,大數模板就是好用!ac include include include include include include include include include include include include using namespace std define eps 1e 10...