我们都知道递归地调用在工作中很常见,但在学习地时候却一头雾水,今天我通过一个简单地例子大概地分享一些地我的理解。我采用递归实现一个很常见地例子:阶乘,阶乘定义:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,亦即n!=1×2×3×…×(n-1)n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。我的思路是:使用if判断我们输入的参数是否小于等于0,若是,则将结果res置为1,若不是,则调用factorial函数,参数值number=number-1,使用temp存储当前res值,当前层级的res为temp*number。
代码如下:
1 #!/bin/bash
2 function fact(){
3 local number=$1
4 if [ $number -l