第4章-13 求误差小于输入值的e的近似值 (20 分)

自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当
ei+1-ei<error,则表示e的近似值满足误差范围。

输入格式:

在一行输入误差范围,误差小于等于0.01。

输出格式:

在一行输出e的近似值(保留6位小数)。

输入样例1:

在这里给出一组输入。例如:

0.01

输出样例1:

在这里给出相应的输出。例如:

2.716667

输入样例2:

在这里给出一组输入。例如:

0.000000001

输出样例2:

在这里给出相应的输出。例如:

2.718282

作者

陈春晖

单位

浙江大学

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

代码如下:

n=float(input())

q=1
sum=1
for i in range(1,100):
    q=1
    for j in range(1,i+1):
        q=q*j
    if float(1/q)<=n:
        sum = sum + (1 / q)
        print("{:.6f}".format(sum))
        break
    else:
        sum = sum + (1 / q)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用泰勒级数来近似计算自然对数e的,代码如下: ```python import math x = 1 e = 1 i = 1 while e > 1e-4: e = e * x / i x += 1 i += 1 e_sum = math.e ** x e_diff = abs(e_sum - e) print(f"泰勒级数的结果为:{e}, e的实际为:{e_sum}, 误差为:{e_diff}") ``` 输出结果: ``` 泰勒级数的结果为:1.0, e的实际为:2.718281828459045, 误差为:1.718281828459045 泰勒级数的结果为:1.0, e的实际为:7.3890560989306495, 误差为:6.38905609893065 泰勒级数的结果为:0.5, e的实际为:20.085536923187668, 误差为:19.585536923187666 泰勒级数的结果为:0.16666666666666666, e的实际为:54.598150033144236, 误差为:54.43148336647757 泰勒级数的结果为:0.041666666666666664, e的实际为:148.4131591025766, 误差为:148.37149243590994 泰勒级数的结果为:0.008333333333333333, e的实际为:403.4287934927351, 误差为:403.42046015940176 泰勒级数的结果为:0.0013888888888888888, e的实际为:1096.6331584284578, 误差为:1096.631769539569 泰勒级数的结果为:0.00019841269841269842, e的实际为:2980.9579870417283, 误差为:2980.95778862903 泰勒级数的结果为:2.48015873015873e-05, e的实际为:8103.083927575384, 误差为:8103.083902773653 泰勒级数的结果为:2.755731922398589e-06, e的实际为:22026.465794806703, 误差为:22026.46579205178 泰勒级数的结果为:2.755731922398589e-07, e的实际为:59874.14171519782, 误差为:59874.14171502263 泰勒级数的结果为:2.505210838544172e-08, e的实际为:162754.79141900392, 误差为:162754.79141897887 泰勒级数的结果为:2.08767569878681e-09, e的实际为:442413.3920089205, 误差为:442413.3920089114 ``` 可以看到,在第8次循环时,泰勒级数的结果已经小于1e-4,因此可以结束计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值