当前位置: 首页 > news >正文

中国最大的门户网站是网址查询地址查询

中国最大的门户网站是,网址查询地址查询,上海专业网络营销,营销培训心得体会总结1.递归的概念 递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢? 递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。 递归的思想: 把⼀个⼤型复杂问题层层转化为⼀个与原问题相似,但…

1.递归的概念

  递归是学习C语⾔函数绕不开的⼀个话题,那什么是递归呢? 递归其实是⼀种解决问题的⽅法,在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。

  递归的思想:
  把⼀个⼤型复杂问题层层转化为⼀个与原问题相似,但规模较⼩的⼦问题来求解;直到⼦问题不能再被拆分,递归就结束了。所以递归的思考⽅式就是把⼤事化⼩的过程。 递归中的递就是递推的意思,归就是回归的意思。
  优点是它可以把代码变得更加清晰,具有可读性。
 
  但它也有自己的缺点,我们接下来先谈一下递归的两个限制条件,再来从此引出对递归缺点的讨论。

2.递归的限制条件

  我们先来看一个最简单的递归函数:

#include <stdio.h>
int main()
{printf("hehe\n");main();//main函数中⼜调⽤了main函数return 0; }

  当我们尝试运行的时候,可以发现函数陷入了死循环,出现了栈溢出的报错,即会提示出stack overflow的报警。

  实际上我们在使用函数的时候,都会在栈空间分配一块内存,而如果这个函数没有进行完,那么这块空间就不会得到释放,而这个函数又永远不会跳出递归,所以便不断地在内存占据空间,这种死递归没有限制,会无限循环下去,而栈内存的空间是有限的,最终便出现栈溢出的报警。

  我们现在可以尝试去总结函数递归所应该满足的条件:

递归存在限制条件,当满⾜这个限制条件的时候,递归便不再继续。
每次递归调⽤之后越来越接近这个限制条件。
  上述的函数便是在没有限制中不断死循环,才出现了上述的情况。接下来让我们在实例中体会这两个条件的必要之处吧。

3.实例:利用递归方法求n的阶乘

  计算n的阶乘(不考虑溢出),n的阶乘就是1~n的数字累积相乘。

  我们知道n的阶乘的公式: n=  n ∗ (n − 1)!

  这样的思路就是把⼀个较⼤的问题,转换为⼀个与原问题相似,但规模较⼩的问题来求解的。
  n!---> n*(n-1)!
  (n-1)! ---> (n-1)*(n-2)!
  ....
  直到n是1或者0时,不再拆解。
  再稍微分析⼀下,当 n<=1 的时候,n的阶乘是1,其余n的阶乘都是可以通过上述公式计算。

  那我们就可以写出函数Fact求n的阶乘,假设Fact(n)就是求n的阶乘,那么Fact(n-1)就是求n-1的阶乘,函数如下:

int Fact(int n)
{if(n<=0)return 1;elsereturn n*Fact(n-1);
}
#include <stdio.h>
int Fact(int n)
{if(n<=0)return 1;elsereturn n*Fact(n-1);
}
int main()
{int n = 0;scanf("%d", &n);
int ret = Fact(n);
printf("%d\n", ret);return 0;}

  在这个函数当中,函数在递归的时候不断靠近n=0这一个限制条件,这也完美满足了函数递归的条件。希望大家都能有所收获,喜欢我的话可以点点赞,加个关注,评论一下,谢啦,爱你们。

http://www.jinmujx.cn/news/116326.html

相关文章:

  • 物流公司做网站哪家好东莞网络营销公司
  • 网站标题应怎设置优化教程网站推广排名
  • wordpress如何添加备案号windows系统优化软件排行榜
  • 医药网站建设seo网站管理
  • 哪里做网站seoseo优化对网店的推广的作用为
  • adobe专门做网站的软件网站设计的流程
  • 中小学生做试卷的网站权重查询工具
  • 网站网站建设平台百度公司招聘2022年最新招聘
  • 用国外服务器做违法网站徐州自动seo
  • 怎么做淘宝店网站收录今日热点头条
  • 海南高端网站建设定制seo零基础教学
  • 怎么把自己做的网站挂到外网上沙坪坝区优化关键词软件
  • 个人怎么做公司网站成都抖音seo
  • wordpress 滚屏西安网站seo哪家公司好
  • 企业网站的建设与实现论文上海seo网络优化
  • 网站详情一般是什么公司做代运营公司排行榜
  • 免费做快闪网站大数据营销精准营销
  • 自己如何做棋牌网站如何自己做网站
  • 郑州网站建设三牛网络推广平台有哪些?
  • 手机网站做淘宝客俄罗斯搜索引擎
  • 哪里有做网站推广的软文广告文案
  • 网站备案填写东莞网站建设方案外包
  • 学做网站前景seo搜索优化是什么意思
  • 网页设计太难了北京网站优化服务
  • 一个虚拟主机可以做几个网站今日国内新闻头条15条
  • 包头网站 建设计算机编程培训学校哪家好
  • 哪个网站做货车专业百度投诉中心入口
  • 欢迎访问中国建设银行官方网站品牌推广公司
  • 网站登录按钮怎么做苏州网站建设制作公司
  • 青岛网站推广关键词软文有哪些发布平台