使用递归推算指定位数的斐波那契数列值
昨天面试遇到这样的一道题目: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 }
扩展阅读
维基百科:斐波那契数列