斐波那契Fibonacci数列C#生成

斐波那契Fibonacci数列C#生成

斐波那契Fibonacci数列(黄金分割数列),第0项为0,第一项为1,第二项为1,第三项为2,第四项为3,第五项为5......可以得到第n项 f(n)=f(n-1)+f(n-2)。

打开visual studio软件,进入菜单“文件”->新建->新建项目。

选择windows窗体程序,给项目命名“Fibonacci”

进入WinForm设计界面,设计界面如下:

从那项开始计算(注意0项是0,一项是1)。从你选择的项到“得到多少项”在listbox中显示。

输入数据检验,保证输入的数据是大于等于0的项。

public int str_to_int(string value)

{

try {

int a = Convert.ToInt32(value);

if (a >= 0)

return a;

else

return 0;

}

catch {

return 0;

}

}

数据监测功能测试,输入框输入数据看看提示结果。输入的不是数据或者不是整数,设置为默认值0;

斐波拉切算法实现:

public int fn(int n) {

if (n == 0)

return 0;

else if (n == 1)

return 1;

else

return fn(n-1)+fn(n-2); }

验证输入n=5的值:5(0,1,1,2,3,5,8,13.....)

设计从n项开始的m个斐波拉切数列:在计算函数中执行如下方法

private void btn_run_Click(object sender, EventArgs e) {

int ddx = str_to_int(tb_ddx.Text);

int ksx = str_to_int(tb_ksx.Text);

listBox1.Items.Clear();

for (int i = 0; i < ddx; i++)

{

listBox1.Items.Add(fn(ksx + i));

}

}

来计算第二项开始的前5项斐波拉切数列。设置得到的项为“5”,开始项为“2”;我们知道斐波拉切数列为:0,1,1,2,3,5,8,13,21......得到的结果和数列一致(从0开始的,0为0项)。