递归函数
(一)递归函数的定义和格式
递归是一种常用的解决问题的方法,特别适用于解决可以被分解为类似子问题的问题。递归函数通常由两个主要部分组成:基本情况(或基线条件)和递归情况(或递归关系)。
基本情况:一个递归的终止条件,确保递归不会无限进行。它处理最简单的情况并返回结果.
递归情况:在这个部分,函数会调用自身,以解决一个更小的子问题。
递归函数:在函数的内部再次调用自己
* 解决可以被分解为类似子问题的问题
* 组成:
* 1.基本情况:最小问题的答案,阻止死循环
* 2.递归情况:调用自己去解决子问题
案例1
定义一个递归函数求1-n的和
(演示)
案例2
计算一个整数的阶乘是一个经典的递归问题。假设我们要计算n的阶乘,记作
n!=1*2*3*4...*n,其定义为: n! = 1*2*3*4....*n-1*n
基本情况:0!=1 (n-1)!
递归情况:n!=n * (n-1)!
(演示)
案例3
定义一个函数,计算斐波那契数列的第n项
(演示)
案例4
定义一个函数,打印多位数字的各个位数上的数字 - 折数
(演示)
案例5 移盘子
(演示)
递归函数:
定义:自己调用自己的函数就是递归函数,可能会导致死循环,需要明确写出函数的返回值类型
代码结构:
1.基本情况:可以直接求解
2。递归情况:大事化小,自己调用自己