Re: [問題] recursive Eule

看板C_and_CPP (C/C++)作者 (喲)時間15年前 (2011/05/02 20:53), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串4/5 (看更多)
※ 引述《bleed1979 (十三)》之銘言: : 其實用內建型別再怎麼逼近都太無趣了,能顯示多少。 : 使用大數計算,我們來逼近e的小數點以下精確1000位以上。 : 在公式e^x = 1 + x + x^2/2! + x^3/3! + x^3/3! + x^n/n! : x代1得到 e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! : 如果n = 4, : 則整理一下會發現 e = (1 + 1/1 * (1 + 1/2 * (1 + 1/3 * (1 + 1/4)))) : 所以只要能算出1/n,使用遞迴就可以解決。 接著你的討論,想問個問題. 計算放到現實總是相當討厭,會碰到具體的限制. 就一般所知道,浮點數 在加減法方面會有一點點不精確性,而在乘除法方面則會因此產生成倍數的不精確. 於是,你將一個 e 遞迴在除法上,則除一次,除二次,除三次, ..., 不精確性一直累積出來. 同樣一個 e, 我可能拆成 1 + 1/1! + 1/2! + 1/3! + ... + 1/n!, 分母先自己乘,因為都是整數所以分母沒有不精確性,然後每項分別除,然後加總. 雖然除了蠻多次,但是因為除法是包含在同一層加法裡頭,所以不精確性比連除好幾次 少很多(吧?). 那麼,請問你解這個問題,該如何檢查先加再除或先除再加的精確性? -- /yau -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.226.35

05/02 21:44, , 1F
補一下,驗證該程式 100 位, 是無誤的。
05/02 21:44, 1F

05/02 21:55, , 2F
小y寶貝,人家第二行前六個字寫的很清楚
05/02 21:55, 2F

05/02 21:56, , 3F
如果你沒看到,檢查一下你的螢幕..........或是你的眼睛...
05/02 21:56, 3F
文章代碼(AID): #1DlgbJhq (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 4 之 5 篇):
文章代碼(AID): #1DlgbJhq (C_and_CPP)