• Python练习题4.13求误差小于输入值的e的近似值


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

    输入格式:

    在一行输入误差范围。

    输出格式:

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

    代码如下:

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    #这个比阶乘多了个1,就说怎么看起来怪怪的。
    def jc(n):
        sum = 1
        for i in range(3,n+1):
            sum = sum * (i-1)
        return sum
    
    #定义自然常数e的方法,ei方法
    def e(n):
        sum = 0
        for i in range(1,n+1):
            sum += 1/jc(i)
        return sum
    
    #print(jc(n))
    #print(e(n))
    
    j = float(input())
    n = 0
    while True:
        n += 1
        if e(n+1) - e(n) < j:
            #这里应该输出e(n)的喔,但是测试结果是e(n-1)才正确
            print("{:.6f}".format(e(n+1)))
            break

    这个程序根本上不是很难。如果学习了函数定义方法,很简单的。拆解程序,先做啥,在做啥,一步一步,程序就很简单了,看起来结构也清晰明了。

    1、定义分母方法。

    2、求ei的值。

    3、比较输出。

    这个题目属于第四章,应该是考察的while、for循环和if判断。但是如果只用这几个的话,可能程序会很复杂。(*^__^*) 嘻嘻


    读书和健身总有一个在路上

  • 相关阅读:
    nyoj--767--因子和(模拟)
    poj--1703--Find them, Catch them(并查集巧用)
    nyoj--1009--So Easy[Ⅰ](数学)
    nyoj--1011--So Easy[II](数学几何水题)
    nyoj--311--完全背包(动态规划,完全背包)
    morhpia(4)-更新
    morphia(5)-删除
    morphia(6-1)-查询
    redis 分页
    mongodb-安装&配置&启动
  • 原文地址:https://www.cnblogs.com/Renqy/p/12739983.html
Copyright © 2020-2023  润新知