C#递归的使用

版权声明: https://blog.csdn.net/hemingyang97/article/details/82503197

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace digui
{
    class Program
    {
        //递归算法就是自己调用自己

        /// <summary>
        /// 创建一个返回int类型的递归方法求斐波那契数列
        /// 斐波那契数列除了第一个和第二个数为1,从第三个数开始F(n)=F(n-2)+F(n-1)
        /// 在程序中可以使用递归算法求出斐波那契数列中的第n个数
        /// </summary>
        /// <param name="a"></param>
        /// <returns></returns>
        static int digui(int n)//
        {
            //在方法中判断n是否为1或者2如果是返回1
            if (n==1)
            {
                return 1;
            }
            else if (n==2)
            {
                return 1;
            }
            //如果不是返回斐波那契公式重新调用自己直到求出所要值
            return digui(n - 2) + digui(n - 1);
        }
        static void Main(string[] args)
        {
            Console.WriteLine(digui(1));//调用递归算出斐波那契数列第一个数
            Console.WriteLine(digui(3));//调用递归算出斐波那契数列第三个数
            Console.WriteLine(digui(8));//调用递归算出斐波那契数列第八个数
            Console.ReadLine();
        }
    }
}
 

猜你喜欢

转载自blog.csdn.net/hemingyang97/article/details/82503197
今日推荐