zoukankan      html  css  js  c++  java
  • python之递归

     在函数内部可以调用其他函数,如果在函数内部调用自己,这个函数被称为递归函数。

    递归函数在计算阶乘及斐波那契数列,汉诺塔等问题非常便利。

    注意:在计算机中函数调用是通过栈来实现的,递归函数也同样,对递归函数过深的调用可能会引起栈溢出,需要注意。

     下面是用递归解决小球下落所经距离的计算。

    #!/usr/bin/env python
    # _*_coding:utf-8 _*_
    
    
    # 递归
    """
    1.一个球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,
    共经过多少米?请用递归实现!
    
    2.小明有200元钱 打算买200本书,A类书籍5元一本,B类书籍3元一本,C类书籍1元2本,请用程序
    算出小明一共有多少种买法?(面试笔试题)
    
    """
    
    
    # 递归
    # 1.
    def mile(n):
        if n == 1:
            return 100
        return mile(n - 1) + 100 // (2 ** (n - 1)) * 2
    
    
    # 2.
    def buy_count():
        count = 0
        for i in range(200 // 5 + 1):  # i 表示可以买的a种书的所有情况 0,1,2,3.。。。。40  注意加1是为了取到40
            for j in range(200 // 3 + 1):  # j 表示可以买的b类书的所有情况 从0到66
                k = 200 - i - j  # k表示c类书
                if 5 * i + 3 * j + 0.5 * k <= 200:
                    count += 1
        return count
    
    
    if __name__ == '__main__':
        print(mile(10))
        print(buy_count())
    当你试图去用自己的言语去讲清一些事物时,你会明白对此事物的理解是融会贯通还是一知半解
  • 相关阅读:
    jeecg多页签的选择切换
    设计模式:工厂三姐妹一网打尽
    设计模式:工厂三姐妹一网打尽
    设计模式:工厂三姐妹一网打尽
    设计模式:工厂三姐妹一网打尽
    三、原子操作
    三、原子操作
    三、原子操作
    三、原子操作
    WebClient HttpWebRequest从网页中获取请求数据
  • 原文地址:https://www.cnblogs.com/1211-1010/p/14054245.html
Copyright © 2011-2022 走看看