
double e=1,n=1
int i
for(i=1n<1e6i++)
{n=n*ie+=1.0/n
printf("%d\t%.7f\n",i,e)/*观蔽渣戚察每次循环时e的输出值,可删*/
}
printf("e=%.6f\n",e)/*%.7f %.6f 控制输出精度*/
scanf("%d")/*输出暂停 可删或换getchar()等*/
}
输出:
1 2.0000000
2 2.5000000
3 2.6666667
4 2.7083333
5 2.7166667
6 2.7180556
7 2.7182540
8 2.7182788
9 2.7182815
10 2.7182818
e=2.718282
自然对数
当x趋近于宏陵正无穷梁弊或负无穷时,[1+(1/x)]^x的极限就等于e,实际上e的值就是通过这个极限而发现的。它是个无限不循环小数。其值约等于2.718281828...
用c语言程序,求e,用递归函数,最易于实现的计算方法应该是使脊拦配用e的极限近似计算,以下以樱指n=1000近似计算之:
n=1000时的近似结果
#include<stdio.h>
#define n 1000
void calc_e(e)
double *e
{
if(e[0]*=1.0+1.0/e[1],--e[2]<=0)
return
else calc_e(e)
}
int main(void){
double box[3]={1.0,n,n}
calc_e(box)
printf("%lf\n",box[0])
return 0
}
n=10000时的近衡闭似结果
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)