概念:函数体内调用本函数自身,知道符合某一条件不再继续调用。
满足条件:又反复执行的过程,有跳出反复执行过程的条件。
注意:递归中必须要存在一个循环结束的条件。递归函数的每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。
羊过村庄问题
public int digui(int cun)
{
int sum = 0;
if ( cun == 7)
{
return 2;
}
sum = (digui(cun+1) + 1) * 2;//反复执行,知道满足条件
return sum ;
}
static void Main(string[] args)
{
Program han = new Program();
int sum = han.digui(0);
Console.WriteLine(sum);
Console.ReadLine();
}
阶乘
public int jiecheng(int i)
{
int sum = 0;
if(i==1)
{
return i;
}
sum = i * jiecheng(i - 1);
return sum;
}
static void Main(string[] args)
{
Program han = new Program();
Console.WriteLine(han.jiecheng (5));
Console.ReadLine();
}
浙公网安备 33010602011771号