作者bob123 ()
看板Programming
標題Re: [問題] recursive Eule
時間Sun May 1 23:37:46 2011
※ 引述《tropical72 (藍影)》之銘言:
: 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
: 不過想不透該如何改
另一個想法 獻醜一下 印象中是書上有教的
令 f(n) = Σ(1/k!) , k=1...n
g(n) = 1/(n!)
=> f(n) = f(n-1) + (1/n) * g(n-1)
g(n) = (1/n) * g(n-1)
=> 初始條件設為n=1時: f(1) = 1 , g(1) = 1
寫成矩陣 |f(n)| | 1 1/n | . |f(n-1)| |f(1)| | 1 |
|g(n)| = | 0 1/n | |g(n-1)| , |g(1)| = | 1 |
如此一來可以以遞迴處理了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.82.122
推 scan33scan33:Cool! I like this! 140.112.90.67 05/02 13:38
推 tropical72:好強啊!! 180.177.73.222 05/02 14:36