zoukankan      html  css  js  c++  java
  • 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判断。但是如果只用这几个的话,可能程序会很复杂。(*^__^*) 嘻嘻


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

  • 相关阅读:
    laravel打印SQL语句
    php扩展打开不起作用的原因, php数字显示2147483647的原因
    opacity与rgba
    package.json中devDependencies与dependencies的区别
    FileReader读取文件
    Vue双向绑定原理详解
    Vue2入门路线及资源
    gulp入门实践
    浏览器版本识别
    this用法
  • 原文地址:https://www.cnblogs.com/Renqy/p/12739983.html
Copyright © 2011-2022 走看看