shell 递归求阶乘

#!/bin/bash

fact()
{
  local num=$1
  local fac
   if ((num==1))
   then
      fac=1
   else
       ((dec=num-1))
       fact $dec
       fac=$?
       fac=`expr $num \* $fac`
    fi
   return $fac
}

fact 5

echo $?                    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 递归求5!: 当n>1时,a=n(n-1)n(-2)2 当n=1时,结果为a1。 非递归求5!
    暖熊熊阅读 516评论 0 1
  • 递归和普通函数调用一样是通过栈实现的 递归的作用 (1)代替多重循环(2)解决本来就是用递归形式定义的问题(3)将...
    Co_zy阅读 527评论 0 0
  • 1.用递归的方法求阶乘n!. 代码: #include int main() { int fac(int n); ...
    可乐W阅读 794评论 0 1
  • function self(index){ if(index==1) return 1; else return ...
    scyblogs阅读 114评论 0 0
  • 浓雾转淡有人家,麟麟车马。低首不语泥泞 踏,扬雪飞花。去天涯。 去天涯。仗剑风发,多少意气鞭名驾。 江山如画,也忍...
    梅心梅飞阅读 419评论 10 29

友情链接更多精彩内容