读书人

用递归求112,3,5,8,13,21,第三十个

发布时间: 2012-02-04 15:43:09 作者: rapoo

用递归求1,1,2,3,5,8,13,21,……第三十个数是多少?
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) //这个类第于高中的数学归纳法
}

}

读书人网 >.NET

热点推荐