昨天面试遇到这样的一道题目:1,1,2,3,5,8,13,21...,请问第30位的值是多少?
代码实现如下:
//1,1,2,3,5,8,13,21.......第30个是多少?
//使用递归计算指定位数的斐波那契数列值
//Fn=F(n-1)+F(n-2)
public static int GetFibonacciNumber(int index)
{
if(index<0||index==0)throw new Exception("参数不能小于或等于0");
if(index<=2)
{
return 1;
}
else
{
return GetFibonacciNumber(index-1)+GetFibonacciNumber(index-2);
}
}