什么是递归 :
递归是一种回溯思想,递归通过规律将复杂的问题简单化。在C#中递归就是在方法体中调用方法本身。
注意:
递归在使用的时候一定要添加出口,否则会一直进行递归,如同死循环,直到程序奔溃。
帮助理解 :
计算1+2+3+4+5+~~~+n;
一式 : 1+2+3+4+5+6=f(6);
二式: 1+2+3+4+5=f(5);
那么 f(6)=f(5)+6; f(n)=f(n-1)+n;
这样的话就把一个复杂的计算变的越来越简单!
代码实现
namespace ConsoleApp1
{
//递归计算1累加到100
public class Math
{
public int Sums(int n)
{
//在这个方法中n必须大于1,如果n等于1或者小于1的时候递归将会无限进行
//出口,递归完成的条件
if (n>1)
{
//该方法只要n>1就会一直回调,直到n<=1停止
int sum = Sums (n - 1) + n;
return sum;
}
else
{
return n = 1;
}
}
}
class Program
{
static void Main(string[] args)
{
Math m = new Math ( );
Console.WriteLine (m.Sums (100));
Console.ReadKey ( );
}
}
}