1 递归
递归含义:是在一个函数中又调用了自己 。
递归一般是和循环一起的,循环--->递归,但是递归不能转成循环
先引入一个例子: 求5! 当求5!时 等价于 5!=5*4! 4!=4*3! 3!=3*2! 2!=2*1! 1!=1*0! 0!=1 (这个地方就是递归的出口)
用一个函数来代替它 比如 fact(5) = 5! 可知 fact(n)=n!
写递归函数时 要注意以下两点:
1 要找到递归的结束条件,也叫递归出口 比如这个阶乘的公式中 出口就是 0! 也就是等于1 或者是直接等于0
2 递归的调用公式 这个公式也可以很明了的看出 :fact ( n ) = n* fact ( n-1)
#include<iostream>
using namespace std;
int fact(int n)
{
if (n == 1 || n == 0)
{
return 1;
}
else
{
return n * fact(n - 1);
}
}
int main()
{
printf("5!=%d",