→ Hazukashiine: 樓下借我一顆水晶球04/27 16:53
→ Hazukashiine: 都天大地大的學校惹 為什麼還不會問問題ㄋ04/27 16:55
因為整個程式碼在VS爆掉之後通通不見惹QQ
所以想說先把想法丟上來請教大家看看w
※ 編輯: jellyfishuan (140.118.138.73), 04/27/2017 16:57:05
→ Hazukashiine: 哇靠... 通通不見還真的蠻屌的 屌 爆 了04/27 16:57
→ Hazukashiine: 如果很懶的話就用 "GNU MP Bignum Library"04/27 16:59
→ Hazukashiine: 至少不用想那些 trivial 的問題 有現成的庫可以用04/27 16:59
哦哦好的感謝大大提供的資訊!! 等等來參考一下
推 jerryh001: string 不是有 length() 可以用?04/27 17:09
我知道有size,length等函數可以抓噢,是有點不太確定要怎麼抓出長度之後用長度去對
應到陣列裡面這樣,這部分我有點卡關
推 tuyutd0505: 不限定使用第三方函式庫的話 推薦 GMP library 或 MPI04/27 17:10
→ tuyutd0505: R library(在Win平台我覺得比較好裝) 精度是吃記憶體04/27 17:10
→ tuyutd0505: 大小的 記憶體越大可以算得越多04/27 17:10
好的,謝謝大大!!!
→ LPH66: 先給你個心理準備, 幾十萬階乘會有上百萬位數04/27 20:58
→ LPH66: 就算四位一組 (順帶一提這裡是 10000 不是 9999)04/27 20:58
→ LPH66: 還是會需要那麼大的一個陣列, 寫得出來不一定跑得出來04/27 20:59
所以果然想的不夠周全www
→ pttworld: 以int的2147483647來說,二數相乘不能超過,所以取四位 04/27 21:23
→ pttworld: 數是至多了。取餘是取一萬餘,不是9999。因為是到幾十04/27 21:23
→ pttworld: 萬,乘法寫法必須每迴圈乘完做加總後的進位判斷,因為04/27 21:23
→ pttworld: 加了幾十萬次有可能溢位,但如果只是幾千,9999的幾千04/27 21:23
→ pttworld: 次也放得下,可全部乘完再一次進位處理。04/27 21:23
→ pttworld: 如果覺得一般的乘法太慢,可以考慮傅立葉轉換的大數乘04/27 21:33
→ pttworld: 法,不過花費記憶體多。04/27 21:33
哦哦哦感謝大大點出盲點!!!
→ HamalAri: 10 萬階乘 43萬位,本人的洨筆電三秒就跑完,gmp很強的 04/27 23:25
→ HamalAri: 洨筆電還只有 2g 呢 04/27 23:26
→ HamalAri: 要相信發展了二十年的東西絕對比自幹的東西好04/27 23:26
好的謝謝板上大大們的提醒!!
我會去看完之後再來看怎麼解決的w
※ 編輯: jellyfishuan (140.118.138.42), 04/28/2017 02:50:29
推 school4303: 連.cpp都不見? 04/28 06:47
就消失了我找不到QQ 我猜可能路徑亂掉之類的吧就認份重寫了,還好還寫不多幾十行而
已
→ MOONRAKER: 還 滿 屌 的 屌 爆 了 04/28 10:18
→ descent: 先把程式碼放在版本控制系統吧 04/28 10:54
推 LPH66: >HamalAri 他現在就是要想自己寫, 那自己寫就會有這個問題04/28 14:35
→ LPH66: 先不說 gmp, 光是大階乘我在幾年前就有看過快速實作 04/28 14:36
→ LPH66: 那個做法在十幾年前的電腦十萬階乘也能幾秒內跑出來 04/28 14:40
→ LPH66: 不過原 PO 只是要寫個期末 project 而且應該不用玩這麼大04/28 14:42
→ LPH66: 而已* 04/28 14:42
→ LPH66: 所以我只是要提醒原 PO 量力而為, 目標訂太大可能會失望 04/28 14:45
嗯嗯其實能過期末實習的就ok了
感謝大大翻出的舊檔案!!
※ 編輯: jellyfishuan (140.118.138.42), 04/28/2017 15:36:09