fib(5) 会调用几次自己
朴素写法的斐波那契 fib(n),调用次数【0】。
怎么看清递归的执行过程
想弄清一个递归到底怎么跑的,最实用的办法是【0】。
第六个斐波那契数是多少
约定 fib(0)=0、fib(1)=1。运行下面这段程序: #include <algorithm> #include <iostream> #include <numeric> #include &l
它一共调用了自己多少次
同一个朴素写法,数一数一共进了几次函数。运行下面这段程序: #include <algorithm> #include <iostream> #include <numeric> #include <
写一个能看见过程的递归
补全 walk:进入时把 n 记进 order,然后递归到 n-1,返回时再把 n 记一次。调用 walk(3) 之后,把 order 用 / 拼起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
数一数朴素斐波那契调了几次
补全 fib,并让它每进一次函数就把 calls 加一。算 fib(6),输出 calls。 (本题用 g++ -std=c++17 -O0 编译。)
递归停不下来会怎样
C++ 里递归没有出口,一直往下调,最后会【0】。
无限递归最常见的两种原因
递归停不下来,通常是因为【0】。
出口写了却还是停不下来
第 1 步:出口:n 等于 0 时返回 第 2 步:来到 n = 5 第 3 步:来到 n = 3 第 4 步:来到 n = 1 第 5 步:来到 n = -1 第 6 步:来到 n = -3 第 7 步:一步跨过 0,再也回不来 5 4
出口写 == 0 还是 <= 0
把出口从 n == 0 改成 n <= 0,好处是【0】。