一个递归算法

来源:互联网 发布:浙江网络丽水干部学院 编辑:程序博客网 时间:2024/05/18 01:47

要求实现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对象中。

原创粉丝点击