递归(Recursion)
语法格式:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
recursion();//调用
}
static void recursion()
{
recursion(); //函数调用自身
}
}
}
流程图:
注意:c#语言支持递归,即一个函数可以调用其自身,在使用递归时,需要定义一个从函数退出的条件,否则会进入死循环。
常用到递归的场景:
1.阶乘;
2.斐波那切数列;
3.汉诺塔;
4.磁盘遍历;
阶乘
想要实现一个阶乘,不止使用循环遍历,递归也同样可以实现,也就是说后面数总是前面数-1得到的。例如:654321,
以递归方式实现:6(6-1)(6-2)(6-3)(6-4)(6-5)或
6*