-1的阶乘是多少

不知道大伙学习C语言感觉最难的是什么,反正我当初学习C语言时,觉得最难的就是“递归”了,比指针还难理解(C语言中的指针,很多人都认为难以理解)。那什么是“递归”呢?我有一天翻词典时,看到词典这么解释一

不知道大伙学习 C 语言感觉最难的是什么,反正我当初学习 C 语言时,觉得最难的就是“递归”了,比指针还难理解(C 语言中的指针,很多人都认为难以理解)。

那什么是“递归”呢?我有一天翻词典时,看到词典这么解释一个词:

这要么是恶搞,要么就是玩笑。然而在数学上确实有很多概念是用自己定义的,举个例子:n 的阶乘等于 n 乘以 n-1 的阶乘,并且 0 的阶乘等于 1。咋一看,似乎它并没有说清楚什么是阶乘,但是这样的描述,却足以让人知道怎样计算阶乘。例如计算 4 的阶乘:

-1的阶乘是多少

4! = 4 x 3! = 4 x 3 x 2! = 4 x 3 x 2 x 1! = 4 x 3 x 2 x 1 x 0! = 4 x 3 x 2 x 1 x 1 = 24

C 语言中,什么是递归函数

-1的阶乘是多少

说了半天阶乘,就是为“递归”做铺垫的,如果一个概念需要用到自身,我们就称它的定义是递归的。那显然,递归函数一定是调用了自身的函数,这么说有点虚,来看看实例吧,下面用 C 语言计算 n 的阶乘。我们已经知道,递归最重要的就是“基础条件”了,我们先把阶乘的基础条件写好:

int factorial(int n){ if(0 == n) return 1;}

上面的代码实现了 0 的阶乘等于 1,那如果 n 大于 0 呢?按照阶乘的定义,应该是 n x fatorial(n-1),用代码实现就是:

那,递归函数是怎么执行的呢?

为了方便解释,我们在 factorial 函数的else 部分加几个局部变量:

int factorial(int n){ if (n == 0) return 1; else { int recurse = factorial(n-1); int result = n * recurse; return result; }}

可以看出,写 C 语言递归函数最重要的就是一定要定义好“基础条件”,不然函数就会永远调用下去,知道系统资源耗尽程序崩溃为止。递归和循环是等价的,用循环能做的事用递归都能做,反之亦然,事实上有的编程语言(如某些LISP)只有递归而没有循环。

-1的阶乘是多少

计算机硬件能做的所有事情就是数据存取、运算、测试和分支、循环(或递归),在计算机上运行的高级语言写的程序当然也不可能做到更多的事情,虽然高级语言有丰富的语法特性,但也只是为做这些事情提供一些方便。那么,为什么计算机是这样设计的?为什么想到计算机需要具有这几种功能,而不是更多或者更少?这些要归功于早期的计算机科学家,例如Alan Turing,他们在计算机还没有诞生的年代从数学理论上为计算机的设计指明了方向。

上一篇 2023年03月24 05:33
下一篇 2023年05月26 21:05

相关推荐

  • 成语请君入瓮请的是谁,成语请君入翁请的是

    唐朝女皇武则天,为了镇压反对她的人,任用了一批酷吏,其中两个最为狠毒,一个叫周兴,成语请君入翁请的是,一个叫来俊臣。他们利用诬陷、控告和惨无人道的刑法,杀害了许多正直的文武官吏和平民百姓。有一回,一封

    2023年05月03 294
  • 警示名言,关于警示的句子

    看看主席的永不过时的名言警句一:最震撼人心的一句话:中国人民从此站立起来了!古人警示名言大全精选1.志士仁人,无求生以害仁,有杀身以成仁。2.己欲立而立人,己欲达而达人。3.君子求诸己,小人求诸人。4

    2022年12月08 288
  • 关于时间的名言,小学生十句珍惜时间的名言

    珍惜时间,这个话题经久不衰,从古至今我们都在反复重复珍惜时间,可见其重要性。但现在仍然有许多人不珍惜时间,今天我们来学习一些珍惜时间的句子,小学生十句珍惜时间的名言,一定要重视起来,不要浪费我们宝贵的

    2022年12月08 228
  • 学日语学费多少,学日语费用大约多少

    在新时代,新文科背景下,学日语费用大约多少,外语教育领域正面临巨大的改革与创新.国内的教育政策也在一定程度上跟随发展趋势做出变革,尤其是在高考政策上,高考外语的政策发生了翻天覆地的变化,各种小语种也逐

    2023年03月28 214
  • 为什么小五考不上驾照,考不上高中上什么学校

    因为学会了也无车可开,我一直没想起来去考驾照,6月份想买车子的时候,考不上高中上什么学校,才发现没驾照买车也只是空谈,于是立马报名开始学,学车的过程无甚波折,基本可以用一帆风顺来形容,各个科目都是一次

    2023年04月16 245
  • 怎么提高写作能力,提高写作的12个方法

    提升写作能力是一个长期的过程,需要不断地学习和实践。下面是一些提升写作能力的方法:提高写作的12个方法,多读书:阅读是提升写作能力的最好方法之一。通过阅读,可以学习到不同的写作风格和技巧,拓展自己的词

    2023年05月15 208
  • -3的平方是多少,–3²怎么计算

    “80后”的“老徐”最近又忙起了新的“考古”项目。“老徐”名徐明,上海人。2021年,他和合伙人,另一位在少年时就对城市文化产生浓厚兴趣的“80后”陈寒松,在上海外滩一带圆明园路的一幢老建筑——兰心大

    2023年03月03 275
  • 一分是多少,1分钱是0.01元吗

    今天零点千呼万唤的高考成绩终于放榜了!之后河南省2020年“高考成绩一分一段表”发布高考成绩分数段统计表可是高考填报志愿的“神器”用好这个表格某种程度上可以决定你能去哪所大学学习什么样的专业(一分一段

    2023年02月24 259
  • 欧路词典怎么用,欧路词典mdd还是mdx

    有道用于快速查词,重点释义一览无余。欧路用于全面查词和深度学习。先来看一个例子。下载完成之后先点击mdd文件打开,打开后选择“用其他应用打开”,选择“欧路词典”。出现这样的提示就表示词典已添加成功。如

    2023年05月19 222
  • 出国留学需要多少钱,三种人不建议出国留学

    赴日留学的计划里,学生最关心的问题是升学,而家长们最关心的就是花费了。今天小编就给大家来说一下2023年赴日留学大概一年要花多少钱?结合自己在日留学经验,希望能给有赴日留学打算的同学一点帮助。留学生们

    2023年02月21 275
  • 论文怎么装订,论文装订几个钉子位置图片

    (一)论文题目论文题目应以简短、明确的词语恰当概括论文的核心内容,避免使用不常见的缩略词、缩写字。中文题目一般不宜超过40个字(含标点符号);外文题目一般不宜超过12个实词,最多不得超过180个字符(

    2023年05月24 213
  • 齐怎么组词,齐组词

    一、看拼音写词语。演奏脑袋翅膀准备神仙砍柴绒球勇敢墙壁歌吟二、给下面的字选择正确的读音,在音节上打“√”。友谊(yì)凑(còu)齐处(chǔ)理战斗(dòu)海参(shēn)钥匙(shi)凌(lín

    2023年06月06 205
  • 怎么求方差,方差的三种计算公式

    位置的度量1.平均数样本平均数总体平均数加权平均数几何平均数中位数将数据按照从小到大排列:对于偶数个观测值,中位数为中间两数的平均值。对于奇数个观测值,中位数为中间数。众数出现最多的数据,可能不止一个

    2023年05月19 209
关注微信