您的位置:首页 > 其它

斐波那契数列的求值问题

2013-07-16 17:32 351 查看
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……,从数列的第3项开始,每一项都是前2项的和,即F(n)=F(n-1)+F(n-2)(n>2)。

本文讨论从0开始的斐波那契数列。

常见斐波那契数列的求值:

1.求斐波那契数列的第n项的值

static void Main(string[] args)
{
Console.WriteLine("第30项的值为:"+Fab(30));
Console.ReadKey();
}
static int Fab(int n)
{
if (n == 1) return 0;
if (n == 2) return 1;
return Fab(n - 1) + Fab(n - 2);
}


第1项是0,第2项是1,从第3项开始每一项都是前2项的和。

2.求斐波那契数列的前n项

static void Main(string[] args)
{
int a = 0, b = 1;
for (int i = 0; i < 10; i++)
{
int temp = a;
a = b;
b = temp + b;
Console.Write(temp + " ");
}
Console.ReadKey();
}


每一次交换产生的中间变量temp即为数列的一个元素。

3.求斐波那契数列的前n项和

static void Main(string[] args)
{
int a = 0, b = 1, total = 0;
for (int i = 0; i < 30; i++)
{
int temp = a;
a = b;
b = temp + b;
total += temp;
}
Console.WriteLine("前30项和为:" + total);
Console.ReadKey();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: