假如n = 4,递归最后结果为什么是3啊

img


最后n-1和n-2代码是如何执行的啊?能不能画个内存图,零基础自学的实在理解的有困难

因为当n等于1或者2的时候就结束了递归。
inFo(4)=inFo(3)+inFo(2)
又因为,inFo(3)=inFo(2)+inFo(1)
所以,inFo(4)=inFo(2)+ inFo(2)+inFo(1)
所以结果为1+1+1=3

递归是这样的:
inFo(4) = inFo(3)+inFo(2) = inFo(1)+inFo(2)+inFo(2) = 3

递归很简单啊,就慢慢展开就行
先这样理解:
f(x)={f(x-1)+f(x-2) x>2
{1 x=1或2
所以f(4)=f(3)+f(2)
=(f(2)+f(1))+f(2)
=(1+1)+1
=3

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632