e =1+1+1/2!+1/3!+……+1/n! ,当n=10000时求出e的C语言编程

如题所述

第1个回答  2011-11-08
#include <stdio.h>
int main()
{
int i;
double e = 1, t = 1;
for (i = 1; i <= 10000; i++)
{
t *= 1.0 / i;
e += t;
}
printf("%.5lf\n", e);
return 0;
}
第2个回答  2011-11-08
#include <stdio.h>
void main()

{
double e=1,f=1;
int i;
for(i=1;i<=10000;i++)
{
f*=i;
e+=1.0/f;
}
printf("e=%f\n",e);
}本回答被提问者采纳
第3个回答  2011-11-08
long double GetE(int n)
{
long double SumE=0;
int nVal=1;
for(int i=0;i<=n;i++)
{
if(i<2)SumE+=1.0;
else
{
nVal*=i;
SumE+=1.0/nVal;
}
return SumE;
}
}
第4个回答  2011-11-08
明显要考虑后面的数超了,毕竟--int64只能算到16的阶乘就算不下去了。要用到大数的。
第5个回答  2011-11-08
精确到多少?先化简再用C写 要不就大数了
相似回答