作者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
1F:推 scan33scan33:Cool! I like this! 140.112.90.67 05/02 13:38
2F:推 tropical72:好强啊!! 180.177.73.222 05/02 14:36