C语言入门实战(12):求自然常数e的值

这篇博客介绍了如何使用C语言编程计算自然常数e,通过不断求和直到误差小于0.000001来逼近e的值。程序中采用循环计算每一项的分母,并累加到总和中,最终输出e的近似值2.718282。

这是《C语言入门实战》系列的第12篇。
上一篇:C语言入门实战(11):输入一组正整数,求逆序数的和


题目

利用算式:

e = 1 0 ! + 1 1 ! + 1 2 ! + . . . + 1 n ! + . . . e=\frac{1}{0!}+\frac{1}{1!}+\frac{1}{2!}+...+\frac{1}{n!}+... e=0!1+1!1+2!1+...+n!1+...

求自然常数e,要求控制精度在0.000001,请编程解决该问题。

要求

本程序无需输入,结果只输出e的值即可。

参考代码

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	float e = 1;//第1项,1/0!
	float d = 1;
	
	int i;
	int pro = 1;//分母 
	for(i=1;d>=1e-6;i++) {
		pro *= i;
		d = (float)1/pro;
		e += d;
	}
	printf("%f", e);//2.718282
	return 0;
}

代码复盘

刚开始,e初始化为第一项的值,然后利用n! = n * (n-1)!的性质,for循环中依次计算从第二项开始各项的分母。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值