148、有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2));
答案:2 悬赏:30 手机版
解决时间 2021-11-30 22:45
- 提问者网友:暗中人
- 2021-11-30 07:00
148、有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2));
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-11-30 07:32
按照这个程序(程序中的 main0 应该是 main() ),输出结果是:
4
答案B
因为它计算的是:
fib(3)=fib(2)+fib(1)=2+2=4追问为什么fib(2)=2,fib(1)=2啊,我不太理解,可以解释下吗追答程序中不是写了else
return 2;了吗?
4
答案B
因为它计算的是:
fib(3)=fib(2)+fib(1)=2+2=4追问为什么fib(2)=2,fib(1)=2啊,我不太理解,可以解释下吗追答程序中不是写了else
return 2;了吗?
全部回答
- 1楼网友:一把行者刀
- 2021-11-30 07:37
结果是4,因此答案是B。该程序是用递归的方法求斐波那契数列的前n项,斐波那契数列(1,1,2,3,5,,,,,)的规律是n项是上一项与上上项之和,即f(n)等于f(n-1)+f(n-2)。所以结果前三项之和是4
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯