第二十二节 函数的递归
递归函数:函数反复调用本身的行为。例如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(); } } } }