标签:inf 老师 解决 代码 .com 技术分享 表达 http 一个
我直接用王争老师的例子了。
这是典型的递归例子,表达式如下
int f(int n) {
if (n == 1) return 1;
return f(n-1) + 1;
}
解释下这段代码,如果你是第五排
f(5) -> f(5-1) + 1
-> (f(4-1) + 1) + 1
-> ((f(3-1) + 1) + 1) + 1
-> (((f(2-1) + 1) + 1) + 1) + 1
-> (((1+ 1) + 1) + 1) + 1
-> 5
递归要满足三个条件:
1.一个问题可以分解为几个子问题的解
2.子问题与其父问题的解决思路一样
3.存在递归的终止条件
例子中的终止条件是 f(1) = 1即第一排的人知道自己是第一排,否则无法用递归。
标签:inf 老师 解决 代码 .com 技术分享 表达 http 一个
原文地址:https://www.cnblogs.com/jiangxiaoxian/p/9862702.html