Return to Snippet

Revision: 67714
at October 20, 2014 14:03 by jacktan


Updated Code
/**
* 递归方法求Fibonacci数列(1,1,2,3,5,8……)在第i项的值;
* Fibonacci第n项的递推式为F(n)=F(n-1)+F(n-2) (n>2)。
* 
* @param Fibonacci数列的第i项
* @return Fibonacci数列第i项的值;如果i<1,则返回0;
* 
*/
public static long fibonacci(int i)
{
 
  if(i<1)
  {
    return 0;
  }
  if(i<3)
  {
    return 1;
  }
  long mth_result = fibonacci(i-1) + fibonacci(i-2);
 
  return mth_result;
}

Revision: 67713
at October 20, 2014 13:49 by jacktan


Initial Code
/**
* 递归方法求Fibonacci数列(1,1,2,3,5,8……)在第i项的值;
* Fibonacci第n项的递推式为F(n)=F(n-1)+F(n-2) (n>2)。
* 
* @param Fibonacci数列的第i项
* @return Fibonacci数列第i项的值;如果i<1,则返回0;
* 
*/
public static long fibonacci(int i)
{
  
  if(i<1)
  {
    return 0;
  }
  if(i<3)
  {
    return 1;
  }
  long mth_result = fibonacci(i-1) + fibonacci(i-2);
  
  return mth_result;
}

Initial URL

                                

Initial Description
考虑到Fibonacci数列增长速度之快,返回值用long类型;如果long类型还不够,下一步考虑使用BigInteger类。

----
//TODO

* 补充两种方法的大O分析和性能测试

Initial Title
Fibonacci第n项java实现

Initial Tags
java

Initial Language
Java