Scala入门基础(7)递归函数

递归函数

(一)递归函数的定义和格式
递归是一种常用的解决问题的方法,特别适用于解决可以被分解为类似子问题的问题。递归函数通常由两个主要部分组成:基本情况(或基线条件)和递归情况(或递归关系)。
基本情况:一个递归的终止条件,确保递归不会无限进行。它处理最简单的情况并返回结果.
递归情况:在这个部分,函数会调用自身,以解决一个更小的子问题。
 

递归函数:在函数的内部再次调用自己
* 解决可以被分解为类似子问题的问题
* 组成:
* 1.基本情况:最小问题的答案,阻止死循环
* 2.递归情况:调用自己去解决子问题

8ee62b1454f341b6ad63762328ec092e.png

案例1

定义一个递归函数求1-n的和

(演示)

4453ffe5aaad4920a591bab4b15bebf9.jpeg

05ff4e58328b417f9c9b8707049149a0.png

案例2

计算一个整数的阶乘是一个经典的递归问题。假设我们要计算n的阶乘,记作
n!=1*2*3*4...*n,其定义为:                              n! = 1*2*3*4....*n-1*n    
基本情况:0!=1                                                              (n-1)!
递归情况:n!=n * (n-1)!

(演示)

6757ac4ff7a74cc2b970b5a1dac1a660.png

案例3

定义一个函数,计算斐波那契数列的第n项

(演示)

49cd771a5e1e4402949dac0946cbb0da.png

案例4

定义一个函数,打印多位数字的各个位数上的数字  - 折数

(演示)

6ddd6a22be874cd386eacd5a34c37d62.png

案例5   移盘子

162f044e0913452d88f8d42db8c19e6f.png

 (演示)

e4337322b6904ec09e20a3918186e0fa.png

递归函数:
定义:自己调用自己的函数就是递归函数,可能会导致死循环,需要明确写出函数的返回值类型
代码结构:
1.基本情况:可以直接求解
2。递归情况:大事化小,自己调用自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值