当前位置:IT认证>软件水平

问题:[填空题]

[填空题] 求菲波那契数列的数学表达式为  fibonacci(n)=n,  n=0,1;  fibonacci(n)=fibonacci(n-1)+fibonacci(n-2),  n≥2; 设m是long型变量,下面是递归算法求菲波那契数列的方法  long fibonacci(long n)  { if(n= =0| |n= =1)return n;   else return (fibonacci(n-1)+fibonacci(n-2));  } 当语句m=fibonacci(3),执行时,方法f

  

参考答案:

E

  参考解析

递归算法是常用的一种解决比较复杂问题的算法,如果采用顺序编程,代码量相当大并且计算过程有规律的问题的方法,其基本的思想就是“自己调用自己”。在本题中,我们需要深入到递归算法当中,来看看方法被调用了几次。调用第一次,得到fibonacci(3)=fibonacci(2)+fibonacci(1);看fibonacci(1),调用第二次,到递归头,返回1;看fibonacci(2),调用第三次,得到fibonacci(2)=fibonacci(1)+fibonacci(0);看fibonacci(1),调用第四次,到递归头,返回1;看fibonacci(0),调用第五次,到递归头,返回0;程序结束,方法fibonacci()被调用了5次。

微信端