第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写 要不就大数了