C 的题目望高手指点
编写程序,求E=1+1\1!+1\2!+1\3!+1\4!+...................+1\N!
小弟在次谢过
搜索更多相关的解决方案:
编写程序
----------------解决方案--------------------------------------------------------
我给你写了一下,你自己研究吧,^_^
double fun(int n)
{
long sum=1,E=1;
int i;
for(i=1;i<=n;i++){
sum*=i;
E+=1/sum;
}
return E;
}
----------------解决方案--------------------------------------------------------
long E=0;这样 不然多加了一个1
----------------解决方案--------------------------------------------------------
高手,这次来个n!的倒数。哈哈,楼主是要进行科学计算马???!!!
----------------解决方案--------------------------------------------------------
以下是引用poppylx在2004-11-01 23:29:29的发言:
再仔细瞧睢^_^ long E=0;这样 不然多加了一个1
----------------解决方案--------------------------------------------------------
sum*=i;//??????????????
----------------解决方案--------------------------------------------------------
以下是引用knocker在2004-11-02 19:46:05的发言:
再仔细瞧睢^_^
哦 我错了 题目跟我以前做的不一样
----------------解决方案--------------------------------------------------------
本人对数学比较敏感所以说让我们来看看会发生什么情况!!
首先我认为这个好像是求数学里面的那个叫做自然常数e吧!!他的值是e=2.71828……
看到了吗!!我查了一下书发现果是个计算e常数的麦克劳宁公式。哈哈,看来如果我们计算的没有必要下去了。
我们可以使用这个lim(1+1/x)exp x=e当n-〉无穷大,这样就简单了。 如果使用float型的,n超过10的就不用计算了,算了也使白算!!!
----------------解决方案--------------------------------------------------------
这涉及到精度问题,我只是把那个算法提出来
----------------解决方案--------------------------------------------------------
double fin(int N) { double sum=0.0,n=1.0; for(int i=1;i<N;i++) { n=n/i; sum+=1/n; }
return sum;
}
----------------解决方案--------------------------------------------------------