您的位置:首页 > 编程语言 > C#

点滴积累【C#】---1、1、2、3、5、8、13、21....计算第30位(递归)!

2013-04-11 21:20 197 查看
Question:用递归计算1、1、2、3、5、8、13、21....第30位!

效果:


代码:

protected void Button1_Click(object sender, EventArgs e)
{
if (tb1.Text != "" && tb1.Text != null)
{
if (!Isnum(tb1.Text))
{
Response.Write("<script type='text/javascript'>alert('请输入数字');</script>");
}
else
{
int a = Convert.ToInt32(tb1.Text);
tb2.Text = Convert.ToString(Foo(a));
}
}
else
{
Response.Write("<script type='text/javascript'>alert('不能为空');</script>");
}
}
public static int Foo(int i)
{
if (i < 0)
{
return 0;
}
else if (i > 0 && i <= 2)
{
return 1;
}
else
{
return Foo(i - 1) + Foo(i - 2);
}
}
public static bool Isnum(string s)
{
string pattern = @"^\d*$";
return Regex.IsMatch(s, pattern);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐