递归的基本概念:一个函数调用其自身。
递归的作用:
①替代多重循环
②解决本来就是用递归形式定义的问题
③将问题分解为规模更小的子问题进行求解
求N!的递归函数
1. int Factorial(int n)
2. {
3. if(n==0)
4. return 1;
5. return n*Factorial(n-1)
6. }
设n=3; 则 F(3)3->F(3)5->F(2)3->F(2)5->F(1)3->F(1)5->F(0)3->F(0)4;
//F(3)3意思是 执行F函数 n=3的第三条语句
返回1->F(1)5;返回1*1->F(2)5;返回2*1->F(3)5;返回3*2 函数执行结束
有个瑕疵 就是有两个出口