## 一、递归的定义 定义:若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的。若一个过程直接或间接地调用自己,则称这个过程是递归的过程
🎬 博客主页:王同学要努力
🎬个人简介:大三小白,喜欢前端 ,热爱分享
🎥 本文由 王同学要努力 原创,首发于 CSDN🙉
🌲 JavaScript专栏推荐:JavaScript专栏,超详细!
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 越努力 越幸运,愿我们都能在看不见的日子里闪闪发光!✨
例如:递归求n的阶乘
#include
int jiecheng(int n)
{
if (n == 1)
return 1;
else
return n*jiecheng(n - 1);
}
int main()
{
int n = 0;
int a = 0;
scanf("%d", &n);
a=jiecheng(n);
printf("%d的阶乘%d\n", n , a);
return 0;
}
1️⃣递归定义的数学函数
阶乘函数
斐波那契数列
分治法:对于一个较为复杂的问题,能够分解成几个相对简单的且解法相同或类似的子问题来求解
调用前,系统完成:
调用后,系统完成:
当多个函数构成嵌套调用时:
递归的优缺点:
虽然有一处以上的递归调用语句,但各次递归调用语句的参数只和主调函数有关,相互之间参数无关,并且这些递归调用语句处于算法的最后。