第二十二节 函数的递归

递归函数:函数反复调用本身的行为。例如n!=1*2*3*....*n;

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

namespace DiGui
{
    class Program
    {
        static double Fac(double n)
        {
            if (n <= 1)
                return 1;
            else
                return n * Fac(n - 1);
        }
        static void Main(string[] args)
        {
            double a = Convert.ToDouble(Console.ReadLine());
            double result = Fac(a);
            Console.WriteLine("{0}的阶乘为{1}",a,result);
        }
    }
}

  递推公式两个要素:递推关系和初始值。

      求斐波那契数列递归公式。 递推关系Fibo(n-1)+Fibo(n-2);初始值 第一项,第二项都为1.

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

namespace Fibonacci
{
    class Program
    {
        static int Fibo(int n)
        {
            if (n == 1 || n == 2)
                return 1;
            else 
                return Fibo(n - 1) + Fibo(n-2);
        }
        static void Main(string[] args)
        {
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("Fibocci");
            for (int i = 1; i < a; i++)
            {
                Console.Write("\t{0}",Fibo(i));
                if (i % 5 == 0)
                Console.WriteLine();
            }
        }
    }
}

  

posted on 2013-05-02 23:03  杨柳清枫2012  阅读(138)  评论(0)    收藏  举报

导航