
根据公式最简单的递归调用实现:
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;
}
}
}
}