1,1,2,3,5,8,13,21,…… 用递归算法求第三十个数是多少? 求解决方案,谢谢!
------解决方案--------------------------------------------------------
斐波那契static int Fibonacci(int index)
{
return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
}
Func<int, int> Fibonacci = null;
Fibonacci = i => i <= 2 ? 1 : Fibonacci(i - 1) + Fibonacci(i - 2);
Console.WriteLine(Fibonacci(30));
Console.ReadKey();
------解决方案--------------------------------------------------------
private int fibo(int n) //写递归方法一般要有参数
{
if(n==1 || n==2)
{
return 1; //写递归方法应该首先就要确定什么时候递归终结
}
else
{
rerurn fibo(n-1)+fibo(n-2) //这个类第于高中的数学归纳法
}
}