int i;int f(int x){return((x>0)?f(x-1)+f(x-2):1);} i=f(3); i等于多少

 我来答
lqwangjing
2011-07-03 · TA获得超过324个赞
知道答主
回答量:49
采纳率:0%
帮助的人:62.2万
展开全部
这是函数的递归调用
f(x) 当x小于等于零时f(x)=1
f(3)带到函数中,3大于零,所以函数返回值为f(3-1) + f(1) 即f(2) f(1)之和
2大于零,所以f(2)=f(1)+f(-1), 而1仍然大于0,所以f(1) = f(0)+f(-1)
根据条件所以f(1)=2 f(2)=3
f(3)
=f(2)+f(1)
=(f(1) + f(-1)) + f(1)
=((f(0)+f(-1))+f(-1)) + (f(0)+f(-1))
=((1+1)+1)+(1+1)
=5
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式