一个递归算法

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

    原文作者:递归算法
    原文地址: https://blog.csdn.net/goodnessren/article/details/4310860
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞