要求实现1,1,2,3,5,8,13,21,。。。。这样一个序列。
分析一下输出结果:发现后一个数字是前2个数字的和。
递归算法如下:
public static int Recursion(int i)
{
if (i <= 0)
return 0;
else if (i > 0 && i <= 2)
return 1;
else return Recursion(i - 1) + Recursion(i - 2);
}
在页面输出结果:
protected void Button1_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder ();
for (int i = 1; i <= 30; i++)
{
sb.Append(Recursion(i));
sb.Append(",");
}
Response.Write(sb);
}
附加信息:
StringBuilder类的命名空间是:System.Text;
使用时要先Using System.Text;
使用方法是:先创建一个实例,然后使用它的Append的方法,把需要的内容添加进StringBuilder对象中。