费伯纳契公式公式为:
![F(n):= \begin{cases} 0 & \mbox{if } n = 0; \\ 1 & \mbox{if } n = 1; \\ F(n-1)+F(n-2) & \mbox{if } n > 1. \\ \end{cases}](http://upload.wikimedia.org/math/4/7/0/470072226d1629b5b6b973f1881b2051.png)
根据公式最简单的递归调用实现:
![F(n):= \begin{cases} 0 & \mbox{if } n = 0; \\ 1 & \mbox{if } n = 1; \\ F(n-1)+F(n-2) & \mbox{if } n > 1. \\ \end{cases}](http://upload.wikimedia.org/math/4/7/0/470072226d1629b5b6b973f1881b2051.png)
根据公式最简单的递归调用实现:
namespace lichen.cnblogs.com
{
class fibonaci
{
static void Main(string[] args)
{
}
static int F(int i)
{
if (i == 0)
{
return 0;
}
if (i == 1)
{
return 1;
}
if (i > 1)
{
return F(i - 1) + F(i - 2);
}
else
{
return 0;
}
}
}
}
运行后会发现这个实现效率很低,我的机器配置不高求到37、8位的时候就已经明显感觉到停顿,主要是>1的算法引起的,应改是还有更好实现。
{
class fibonaci
{
static void Main(string[] args)
{
}
static int F(int i)
{
if (i == 0)
{
return 0;
}
if (i == 1)
{
return 1;
}
if (i > 1)
{
return F(i - 1) + F(i - 2);
}
else
{
return 0;
}
}
}
}