求菲波那契数列的数学表达式为   fibonacci(n)=n,  n=0,1;   fibonacci(n)=fibonacci(n-1)+fibonacci(n-2),  n≥2;  设m是long型变量,下面是递归算法求菲波那契数列的方法  

admin2009-01-15  36

问题 求菲波那契数列的数学表达式为

  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),执行时,方法fibonacci()被调用了【  】次。

选项

答案【 】5

解析 递归算法是常用的一种解决比较复杂问题的算法,如果采用顺序编程,代码量相当大并且计算过程有规律的问题的方法,其基本的思想就是“自己调用自己”。在本题中,我们需要深入到递归算法当中,来看看方法被调用了几次。调用第一次,得到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次。
转载请注明原文地址:https://jikaoti.com/ti/EJb0FFFM
0

最新回复(0)