大數加法:用陣列,記得進位,
大數減法:用注意借位問題,
應該可以注意到上面的其實和普通手算的方式差不多,只是用電腦算比較大的數字而已
但乘法,如果用普通的直式乘法呢,我們考慮
我們把兩個數表示成多項式,答案即是乘起來後進位,這裡普通的多項式乘法
補充:
一、
卡常解決方式:
(1) 遞迴改成非遞迴,
(2) 宣告
(3) 用
二、
大數加法:用陣列,記得進位,
: ,這裡我們假設 代表數字總位數。 大數減法:用注意借位問題,
: 。 應該可以注意到上面的其實和普通手算的方式差不多,只是用電腦算比較大的數字而已
但乘法,如果用普通的直式乘法呢,我們考慮
,一個 的位數乘上 的所有位數,有 個為 ,但是 有 位, ,會 我們把兩個數表示成多項式,答案即是乘起來後進位,這裡普通的多項式乘法
還是 ,但我們可以利用 或 來以 求得,這樣就會 補充:
一、
: 快速傅立葉轉換,利用複數平面的特殊性質計算,是 (離散傅立葉轉換)的加速版,對於 項的倆多項式相乘為 的,不過注意他是用 計算,有可能卡精度或卡常 卡常解決方式:
(1) 遞迴改成非遞迴,
前把他底層順序排好,可以加速很多 (2) 宣告
等修飾詞,會加速一些,據某個姓謝的說這可能是 的最後一根稻草。 (3) 用
, 不用 計算。
二、
: 數論轉換,和 概念類似,但把複數概念以原根與 代替,可以避免 噴出來的常數以及誤差,缺點是這題的 ,我在解這題的時候因為有部分測資數字較小,而他給時限也比較小,但 有點難自由變動,原根與 的質數可能要找比較麻煩。
你們這些毒瘤大師 對 我說的就是你 becaido 還有老鼠(還是企鵝(?)) 喔對 還有STSTONE,差點忘了