Python一天一颗糖(十五)递归函数的特点和写法,经典例题和思路

本文介绍了递归函数的概念,强调了递归过程中问题拆分和解决的“递”与“归”的含义。递归函数的特点包括:问题可分解为相同结构的子问题,且存在明确的终止条件。以求解阶乘为例,详细解析了递归函数的编写过程,包括确定功能、结束条件和返回值。最后提供了一个递归小练习题供读者实践。
摘要由CSDN通过智能技术生成

递归函数

递归的概念:递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例程调用。简单说程序调用自身的编程技巧叫递归。

进一步解释:”递“的意思是将问题不断的进行拆分,一个问题拆成子问题,再把子问题进一步拆分,直到拆到微小的问题可以得到解决;”归“的意思就是说微小的问题得到了解决,那么依次往回推,上面的问题就都得到了解决。

递归特点:

  1. 一个问题可以分解成具有相同解决思路的子问题,子子问题,换句话说这些问题都能调用同一个函数
  2. 经过层层分解的子问题最后一定是有一个不能再分解的固定值的(即终止条件),如果没有的话,就无穷无尽地分解子问题了,问题显然是无解的

举例:求解,输入一个整数n,输出n!的值,其中n!= 1*2*3...*n,即求阶乘。

递归的写法

1.编写函数体(功能):

确定求解函数的功能是求n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值