栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python递归函数如何用于tri_recursion函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python递归函数如何用于tri_recursion函数

尝试用铅笔和纸追踪该功能。在这种情况下,该函数的打印语句可能会引起误解。

考虑一下程序的这一部分,

if(k>0):    result = k+tri_recursion(k-1)...

从这里,

tri_recursion(6) = 6 + tri_recursion(5)

因此,要得到结果,因为

tri_recursion(6)
我们必须得到
tri_recursion(5)
遵循以下逻辑的结果,问题可以简化为:

tri_recursion(6)  = 6 + tri_recursion(5)  = 6 + 5 + tri_recursion(4) = 6 + 5 + 4 + tri_recursion(3) = 6 + 5 + 4 + 3 + tri_recursion(2) = 6 + 5 + 4 + 3 + 2 + tri_recursion(1) = 6 + 5 + 4 + 3 + 2 + 1 + tri_recursion(0)

现在注意0不大于0,因此程序移至else子句的主体:

else:    result = 0...

这意味着

tri_recursion(0) = 0
。因此:

tri_recursion(6) = 6 + 5 + 4 + 3 + 2 + 1 + tri_recursion(0)= 6 + 5 + 4 + 3 + 2 + 1 + 0= 21

注意事项

  1. 在运行该程序。
    k
    永远不等于
    -1
    ,实际上这是不可能的。
  2. 以“编译器在程序中移动”的方式来考虑控制流是一种误导。编译器在执行期间不执行任何操作(JIT是另一回事)。最好从过程语言的控制流/执行顺序,函数式编程的等式和逻辑编程的关系方面考虑。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639805.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号