[問題] recursive Eule

看板C_and_CPP (C/C++)作者 (藍影)時間15年前 (2011/05/01 18:40), 編輯推噓0(0015)
留言15則, 4人參與, 最新討論串1/5 (看更多)
※ [本文轉錄自 Programming 看板 #1DlJTBzo ] 作者: tropical72 (藍影) 站內: Programming 標題: [問題] recursive Eule 時間: Sun May 1 18:34:48 2011 e = 1/1!+1/2!+...+1/n! 欲以一個 recursive 解之 目前必須用到的是 recursive_sum + recursive_fact, 試著化簡該公式: e = 1/1 + 1/1*1/2 + 1/1 * 1/2 * 1/3 + ... = 1* (1+1/2* (1+1/3* ....(1+1/n))))) 這麼做請問 recursive function 該如何撰? (in c or c++ is better) 或能給我一份通式嗎? 謝謝各位不吝指教! ---- 分隔線 ---- my try --- double f(int x) { return (x==0 || x==1) ? 1 : ( (1.0/n+1)*f(x-1) ); } 我知道這份是有問題的,展開會變成 (1/4+1)*(1/3+1)*(1/2+1)*1 不過想不透該如何改 -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.73.222 ※ 編輯: tropical72 來自: 180.177.73.222 (05/01 18:38) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.73.222

05/01 19:01, , 1F
f(n)=f(n-1)+1/n! <---是這樣嗎?還是要用你化簡的式子?
05/01 19:01, 1F

05/01 19:03, , 2F
如果是2個recursive,我可以幫你。
05/01 19:03, 2F

05/01 19:04, , 3F
05/01 19:04, 3F

05/01 19:04, , 4F

05/01 19:19, , 5F
有點作弊的寫法如下,一個recursive。
05/01 19:19, 5F

05/01 19:20, , 6F
先謝謝樓上二位的建議, e 我不是不會求, 大多求法都避不開另寫一個階層函式, 但發問重點是想借這題去探討另一 recursive 問題 double euler2(int x) { double ans=1.0/x; while(x) ans = (ans+1)/x, --x; return ans+1; } 這是 non-recursive 版的,我比較好奇是 recursive how to ? 看過 bleed1979 給的 http://codepad.org/fCx0Hoy6 應是我想要的 我再研究一下是否有辦法變成單變數 recursive , 謝謝各位! ※ 編輯: tropical72 來自: 180.177.73.222 (05/01 19:43)

05/01 19:47, , 7F
補上,bleed1979 第三個 link 似乎有些誤.
05/01 19:47, 7F

05/01 20:03, , 8F
假如你要避開階乘 可以用連分數去做~~
05/01 20:03, 8F

05/01 20:07, , 9F
@firefox: 我想我提出的 subfunc 就是連分數
05/01 20:07, 9F

05/01 20:16, , 10F


05/01 20:24, , 12F
原po給的公式是否少1?
05/01 20:24, 12F

05/01 20:31, , 13F
e^x =1+x+x^2/2!+x^3/3!+x^3/3!+x^n/n! x代1
05/01 20:31, 13F

05/01 20:48, , 14F
05/01 20:48, 14F

05/01 20:54, , 15F
這是用 e^x=1+x+x^2/2!+...+x^n/n! 導的...
05/01 20:54, 15F
文章代碼(AID): #1DlJYF5O (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DlJYF5O (C_and_CPP)