趣味算法-递归调用

一、概念

阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。

一个正整数的阶乘factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

即  n!=1×2×3×...×(n-1)×n

阶乘亦可以递归方式定义: 0!=1 , n!=(n-1)!×n

递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用,递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作。

二、阶乘计算方法

1、负数没有阶乘。

2、大于等于1

任何大于等于1 的自然数n 阶乘表示方法:

3、0的阶乘

0!= 1

三、scratch程序设计

阶乘积木中调用了阶乘积木并传给相应的参数,i小于1递归终止条件;

递归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的的时候,才停止递归调用,开始从最后一个递归调用返回。

递归函数特点

所有递归函数的结构都是类似的。

(1)函数要直接或间接调用自身。

(2)要有递归终止条件检查,即递归终止的条件被满足后,则不再调用自身函数。

(3)如果不满足递归终止的条件,则调用涉及递归调用的表达式。在调用函数自身时,有关终止条件的参数要发生变化,而且需向递归终止的方向变化。