递归分析

递归分析

  递归函数为fun,参数为20,当x=20时第一张图,发现if x%3==0 and x%5==0 条件不成立,故执行return func(x-1)+x

  执行func(x-1)就是20-1=19,执行第二张图,根据之前的判断分别执行到第6张图

  在第6张图中,发现if x%3==0 and x%5==0 条件成立则执行return x,则x=15

  下图为调试过程中变量显示的值,return中并没有再回调本身,故不在递归

  递归分析

print打印结果

递归分析 接下来继续观察递归的值是如何返回的,当x=15时不在递归,返回为x,也就是说fun(x-1)的值为15+ (x=16),并逐步返回增加

递归分析

即 15+16+17+18+19+20=105