bash的函数,不知道还是否有其他取得返回值的方法,这里用了

$? - 上一条指令的返回值
$@ - 所有传入参数, 不加引号时与$*相同。加引号后"$@"="$1" "$2" ... 而 "$*"="$1 $2 ...", $@比$*用的时候多
$1 - 第一个传入参数

fibonacci.sh :

 1 #!/bin/bash
 2
 3 function fibonacci
 4 {
 5     if [ "$@" == "1" ]; then
 6         return 1;
 7     else
 8         let next=$@-1;
 9         fibonacci $next;
10         let sum=$?+$@;
11         return $sum;
12     fi
13 }
14
15 fibonacci $1
16 echo "fibonacci($1) = $?"

用法如下:

root$ bash fibonacci.sh 5
root$ fibonacci(5) = 15

转载于:https://www.cnblogs.com/aidysun/archive/2013/01/16/2863278.html

Bash递归函数计算斐波纳吉(fibonacci)数列相关推荐

  1. [CS101] 转载:浅议Fibonacci(斐波纳契)数列求解

    原文转载自林健随笔的"浅议Fibonacci(斐波纳契)数列求解" Fibonacci 数列 描述了动物繁殖数量.植物花序变化等自然规律.作为一个经典的数学问题,Fibonacci ...

  2. 斐波那契数列在计算机的应用,斐波那契(Fibonacci)数列的几种计算机解法

    题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...

  3. 斐波那契(Fibonacci)数列计算器设计

    资源下载地址:https://download.csdn.net/download/sheziqiong/85734538 资源下载地址:https://download.csdn.net/downl ...

  4. 计算机数列类型,斐波那契(Fibonacci)数列的几种计算机解法

    题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...

  5. Fibonacci(斐波纳契)数列各种优化解法

    Fibonacci数列: 描述了动物繁殖数量.植物花序变化等自然规律.作为一个经典的数学问题,Fibonacci数列常作为例子出现在程序设计.数据结构与算法等多个相关学科中. 下面简单地分析一下常见的 ...

  6. 递归函数就兔子数C语言,【C语言】求斐波那契(Fibonacci)数列通项(递归法、非递归法)...

    意大利的数学家列昂那多·斐波那契在1202年研究兔子产崽问题时发现了此数列.设一对大兔子每月生一对小兔子,每对新生兔在出生一个月后又下崽,假若兔子都不死亡.问:一对兔子,一年能繁殖成多少对兔子?题中本 ...

  7. 递归生成斐波那契Fibonacci数列——Python

    记录一下学习过程 递归生成斐波那契额数列的第n项 定义一个函数Fibonacci(n),它可以生成数列的第n个数,先不考虑是怎么生成的.斐波那契数列的每一项都是前两项的和,因此第 n 项可以由 n-1 ...

  8. 编写一递归函数求斐波纳契数列1,1,2,3,5,8,13,…的前40项。c语言

    基础习题 #include "stdio.h" int k(int l) {     int t;     if(l<3)   {t=1;return 1;}     if( ...

  9. 编程之美-斐波那契(Fibonacci)数列方法整理

    [试题描述] 方法一:传统解法,有重复计算 方法二:地推关系式的优化,时间复杂度O(n),空间复杂度也是O(n) 方法三:时间复杂度O(1) 方法四:分治策略,时间复杂度O(logn)

  10. 斐波那契 (Fibonacci)数列

    尾递归会将本次方法的结果计算出来,直接传递给下个方法.效率很快. 一般的递归,在本次方法结果还没出来的时候,就调用了下次的递归, 而程序就要将部分的结果保存在内存中,直到后面的方法结束,再返回来计算. ...

最新文章

  1. PetShop之表示层设计(转载)
  2. iOS 关于权限设置的问题
  3. 互联网公司职级和薪资一览!
  4. .NET 开源项目 StreamJsonRpc 介绍[上篇]
  5. Robo 3T 安装连接 MongoDB
  6. 现在比较流行的一种新的清除浮动的方法
  7. 上海特斯拉自燃事件终于有结果了:没有系统缺陷 单个电池模组故障
  8. 怎么让同网络计算机强制关机,知道局域网ip怎么关机
  9. lua 去除小数点有效数字后面的0_【物联网学习番外篇】Lua脚本编程扫盲
  10. Android 系统广播
  11. C语言中scanf和printf格式化输入输出
  12. 遗传算法c语言代码实验报告,遗传算法的c语言程序
  13. [Ant] [StartWithAnt] 第一章 一个简单的Ant例子
  14. 《WebRTC 1.0: Real-Time Communication Between Browsers》学习
  15. HDU 5441并查集 by cyl
  16. 省市区三级联动area
  17. Golang工具集-String工具,时间工具,http工具等
  18. Python学习日志12 - 办公自动化
  19. 使用2345安全卫士后打开浏览器主页锁定为2345
  20. react使用mock

热门文章

  1. 定位Oops的具体代码行[zt]
  2. Android 时间格式转换
  3. 让线程按顺序执行8种方法
  4. 强烈推荐:事情污,但算法不污,每个想称为大牛的码农都该看,深受启发!...
  5. 阿里Goldeneye业务监控平台之架构演进,如何实时处理100T+/天的日志量?
  6. 如果计算机是中国人发明的,那编程代码很可能就应该这样写!
  7. 开发运维都不得不知的MySQL索引和查询优化
  8. 代码很烂,所以离职。
  9. ae插件form_学习人数最多的课程 (推荐)AE+PR特效剪辑全能精英班
  10. #上位机开发大师之路# Qt5的环境搭建