递归函数,怎么计算的?

img

k=1,1+(1-1),
k=2,2+(2-1),
k=3,3+(3-1),
k=4,4+(4_1),

这个结果咋计算的?我这个结果不对,和运行结果不一样


r(6):
    6 + r(5)
        5 + r(4)
            4 + r(3)
                3 + r(2)
                    2 + r(1)
                        1 + r(0) -- 0
                    2 + 1
                3 + 2 + 1
            4 + 3 + 2 + 1
        5 + 4 + 3 + 2 + 1
    6 + 5 + 4 + 3 + 2 + 1
21

方法是层层调用的,直到获取到一个确定的值k(0) = 0。此时,之前的所有表达式就可以得到具体的运算结果了,再逐层返回。
所以递归一定会有一个出口,这里就是用的k > 0。
有帮助请采纳,还有不懂的可以继续追问~

你的结果是啥?运行结果是啥?哪里不明白?