计算自然对数底e的值

本文提供了一种使用Java编程语言来计算自然对数底e的方法。通过两种不同的算法实现,利用泰勒公式展开e的近似值计算。第一种算法采用直接累加的方式,第二种算法则运用了递归思想进行优化。
按下面的公式计算自然对数底e的值(n的值取20)
编写一个java程序jse.java,按下面的公式计算自然对数底e的值(n的值取20):
e=1+1/1!+1/2!+1/3!+1/4!+…1/n!

(
泰勒公式推出来的
  e^x≈1+x+x^2/2!+x^3/3!+……+x^n/n!
  当x=1时,e≈1+1+1/2!+1/3!+……+1/n!
  取n=10,即可算出近似值e≈2.7182818。
)

在java世纪网看到这个面试题

紫竹给出两个程序


public class Test {
public static void main(String args[]) throws Exception {
// 方法1
double e = 1.0;
double t = 1.0;
for (int i = 1; i <= 20; i++) {
t /= i;
e += t;
}
System.out.println(e);
// 方法2,可惜我没看懂,很精妙
e = 0.0;
for (int i = 20; i > 0; i--) {
e = (e + 1.0) / i;
}
e++;
System.out.println(e);
}
}

主要讲方法2
其实这是一个归纳法

e=1+1/1!+1/2!+1/3!+1/4!+…1/n!
其实
1/20!+1/19!+18!
=1/(20*19!)+(1/19!)+1/18!
提出公共项
(1+1/20)*(1/19!)+1/18!
然后分解
1/19!=(1/(19*18!))=1/19*(1/18!)
上面的式子
换成为:=((1+1/20)*1/19+1)*1/18!
换成公式.........
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值