Re: [問題] 大數運算已回收

看板MATLAB作者 (!H45)時間15年前 (2010/06/22 07:11), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《hasucker (道地哈薩克人)》之銘言: : 想請問一下 : 要如何運算像是 300! 的大數 : 用 factorial(300) : 會跑出 Inf : 不用太精準沒關係 只要首項, 級數對了就行 : 謝謝!! 後半段的方法太過頭了,你需要的是 Symbolic Math Toolbox FAC300 = sym('factorial(300)'); A = vpa(FAC300,10); disp(A); 執行結果: 3.060575122*10^614 --- (下面是後半段,有點過頭的方法) 你需要大數演算法。 請 Google: Variable Precision Integer Arithmetic 下載,並將解壓縮後的資料夾設為 MATLAB 路徑 之後在 MATLAB 的命令列輸入以下: A = factorial(300); B = factorial(vpi(300)); disp(A); disp(B); 執行結果如下: Inf 306057512216440636035370461297268629388588804173576999416776741259476 533176716867465515291422477573349939147888701726368864263907759003154226 842927906974559841225476930271954604008012215776252176854255965356903506 788725264321896264299365204576448830388909753943489625436053225980776521 270822437639449120128678675368305712293681943649956460498166450227716500 185176546469340112226034729724066333258583506870150169794168850353752137 554910289126407157154830282284937952636580145235233156936482233436799254 594095276820608062232812387383880817049600000000000000000000000000000000 000000000000000000000000000000000000000000 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.22

06/22 07:23, , 1F
唔...用 sym+vpa 也可以。
06/22 07:23, 1F
※ 編輯: H45 來自: 140.116.247.22 (06/22 07:24)
文章代碼(AID): #1C7_6oNE (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1C7_6oNE (MATLAB)