函数编程中的递归、迭代与可变参数列表
1. 递归的展开与结果输出
递归是一种函数调用自身的编程技术。在处理某些问题时,递归可以让代码更简洁易懂。例如在处理数字输出时,递归会不断展开,直到达到终止条件,然后逐步返回结果。
假设我们有一个递归函数处理数字 4267,其递归展开和输出过程如下:
- 递归展开过程中,函数会不断计算商和余数。
- 当递归展开完成后,会从最内层的调用开始返回,依次输出结果。
Output: 426
We have now unwound the recursion and are back to the original call to the function. It prints the digit seven, which is the remainder of its value divided by ten.
Output: 4267
这个过程可以用以下 mermaid 流程图表示:
graph TD;
A[开始处理 4267] --> B[计算商和余数];
B --> C{是否达到终止条件};
C -- 否 --> D[递归调用处理商];
D --> B;
C -- 是 --> E[输出余数];
E --> F[返回上一层];
F --> E;