了解Python中的递归

了解Python中的递归,第1张

了解Python中的递归

让我们逐步执行。

fact(5):   5 is not 0, so fact(5) = 5 * fact(4)   what is fact(4)?fact(4):   4 is not 0, so fact(4) = 4 * fact(3)   what is fact(3)?fact(3):   3 is not 0, so fact(3) = 3 * fact(2)   what is fact(2)?fact(2):   2 is not 0, so fact(2) = 2 * fact(1)   what is fact(1)?fact(1):   1 is not 0, so fact(1) = 1 * fact(0)   what is fact(0)?fact(0):   0 IS 0, so fact(0) is 1

现在让我们收集结果。

fact(5) = 5* fact(4)

用我们的结果代替事实(4)

fact(5) = 5 * 4 * fact(3)

用我们的结果代替事实(3)

fact(5) = 5 * 4 * 3 * fact(2)

用我们的结果代替事实(2)

fact(5) = 5 * 4 * 3 * 2 * fact(1)

用我们的结果代替事实(1)

fact(5) = 5 * 4 * 3 * 2 * 1 * fact(0)

用我们的结果代替事实(0)

fact(5) = 5 * 4 * 3 * 2 * 1 * 1 = 120

那里有。递归是通过将大问题视为成功的小问题来分解大问题的过程,直到遇到琐碎(或“基本”)的情况。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5623113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存