69,336
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<math.h>
/*
用台劳级数求e的近似值,直到最后一项小于10^-9
e=1+1/1!+1/2!+1/3!+ ……
*/
long fun(int n);
int main()
{
int i = 1;
double e = 0.0, elem = 1.0;
do {
e += elem;
elem = 1.0 / fun(i);
i++;
} while(fabs(elem) >= 1e-9);
printf("e=%.8f\n", e);
return 0;
}
long fun(int n)
{
long s = 1;
while(n > 1) {
s *= n;
n--;
}
return s;
}