zoukankan      html  css  js  c++  java
  • 递归

    什么叫递归?

           有一个故事大家都听过;''从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是‘:‘’从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是..........‘’。

    如何用程序解决一下这个程序呢?

    def story():
    # print("从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是‘")
    #
    # while True:
    # story()

    用循环?哇哇哇!死循环!电脑卡住了。

    当然还有别的方法:

    # def story():
    # #递归函数,在一个函数内调用自己
    # #最大递归层数做了一个限制:997
    # print("从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是")
    # story()
    # print('123')

    # story()

    #python递归最大层数限制 997
    #最大层数限制是python默认的,可以做修改
    #但是我们不建议你修改

    地柜中的二分法:

    二分查找算法
    #算法:计算的方法
    #有序的递增列表
    l = [2,3,5,10,15,16,18,22,26]
    def find(l,aim): #l:列表 aim:要找的
    mid = len(l)//2 #计算中点
    if l[mid] > aim: #判断中间位置的值和目标值的大小关系
    new_l = l[:mid] #[16,18] = [16,18,22,26][:mid]
    return find(new_l,aim)
    elif l[mid] < aim:#判断中间位置的值和目标值的大小关系
    new_l = l[mid+1:]
    return find(new_l,aim)
    else:
    return l[mid]
    # print(find(l,16))

  • 相关阅读:
    统计学基础
    ip地址分类
    OSI七层协议与TCP/IP模型、三次握手与四次挥手
    计算机编码
    [HNOI2008]Cards
    P4309 [TJOI2013]最长上升子序列
    P3794 签到题IV
    P2605 [ZJOI2010]基站选址
    UVA10791
    P3825 [NOI2017]游戏
  • 原文地址:https://www.cnblogs.com/kxllong/p/7265089.html
Copyright © 2011-2022 走看看