🔥WPS 递归第二集|LAMBDA 算出阶乘 N!

上一集带大家搞懂了递归的基础逻辑,还实战了 1~N 累加。这一集直接升级,用递归算阶乘 N!,结构几乎一模一样,看懂就会用!


一、什么是阶乘?

比如 5! = 5×4×3×2×1 = 120本质就是:从 N 一直乘到 1,用递归实现最简洁。

二、递归核心逻辑

调用自己 → 相乘 → 再调用自己 → 再相乘满足停止条件 → 停止递归 → 逐层返回结果

三、递归三要素对照

  1. 停止条件

递归的出口,到 1 就不再往下执行

  1. 执行方法

当前数字 × 下一层递归算出的结果

  1. 循环体

自己调用自己,参数不断减 1 推进计算


四、WPS 直接可用公式

excel

=LAMBDA(n,IF(n=1,1,n*MYSELF(n-1)))(5)

结果:120

想算几的阶乘,就把最后的 (5) 改成对应数字即可。


五、公式逐行拆解

excel

=LAMBDA(n,IF(n=1,1,n*MYSELF(n-1)))(5)

  • n=1:停止条件,到 1 直接返回 1

  • n*MYSELF(n-1):当前数 × 下一层结果,核心计算

  • MYSELF(n-1):递归调用自己,数字不断减 1

  • 最后的(5):传入要计算的数字,代表求 5!


六、执行过程

MYSELF(5) = 5 × MYSELF(4)

MYSELF(4) = 4 × MYSELF(3)

MYSELF(3) = 3 × MYSELF(2)

MYSELF(2) = 2 × MYSELF(1)

MYSELF(1) = 1

然后逐层返回:1 → 2×1=2 → 3×2=6 → 4×6=24 → 5×24=120


七、小练习

把公式里的 5 换成这些数字试试:

  • 6! = 720

  • 7! = 5040

  • 10! = 3628800

学会这两个案例,递归基本就入门了,复杂一点的递归逻辑都能看懂。

下一集想看递归实现什么?倒序数字、求和、查找还是其他?评论区说~

浙江省
浏览 128
收藏
4
分享
4 +1
+1
全部评论