这不就是求自然对数的底e的值么。楼上的代码效率不够高,而且精度也不够。
下面的代码可以得到15位有效数字。也只需前18项就够了,更多的项数对double型没意义。
这题的意义在于求得更高的精度。试着求一下小数点后10万位吧。
程序代码:
#include<stdio.h>
int main()
{
double a = 1, t = 1;
int i;
for(i = 1; i < 18; i++)
{
t /= i;
a += t;
}
printf("%.20f\n", a);
return 0;
}