使用递归推算指定位数的斐波那契数列值

  昨天面试遇到这样的一道题目:1,1,2,3,5,8,13,21...,请问第30位的值是多少?代码实现如下:

 1     //1,1,2,3,5,8,13,21.......第30个是多少?
 2     //使用递归计算指定位数的斐波那契数列值
 3     //Fn=F(n-1)+F(n-2)
 4     public static int GetFibonacciNumber(int index)
 5     {
 6         if(index<0||index==0)throw new Exception("参数不能小于或等于0");
 7         if(index<=2)
 8         {
 9             return 1;
10         }
11         else
12         {
13             return GetFibonacciNumber(index-1)+GetFibonacciNumber(index-2);
14         }
15     }

 

扩展阅读

维基百科:斐波那契数列

posted @ 2013-04-26 10:56  gyzhao  阅读(612)  评论(1编辑  收藏