版权声明:作者:undefinedUser_1 来源:CSDN 本文为博主原创文章,转载请附上博文链接 https://blog.csdn.net/undefinedUser_1/article/details/90304577
核心代码:
c=${a} a=${b} b=$((${c}+${b}))
a=${b}
这时a就变成了a的下一位的值,b=$((${c}+${b}))
这时b就成了b的下一位的值,而c=${a}
是为了保留a在变成下一位之前的值,方便b变成下一位的值时进行运算(因为a已经变成a的下一位了,所以不能直接+a。而如果直接b=$((${a}+${b}))
,那么a下一位的值就改变了),然后把三个运算放在循环里就可以无限地算下去了。
创建shell脚本
mkdir mybin),这样可以方便管理写过的shell脚本。进入该目录(cd mybin),下面这条指令可以创建并进入mybin
mkdir mybin; cd mybin
Fibonacci.sh),我这里用的时vim文本编辑器,也可以用vi来编辑,不过vim比vi好用,建议用vim。 Fibonacci是我这个shell脚本的文件名,读者可以自行命名更改。
vim Fibonacci.sh
shell代码
#!/bin/bash #输入数字n显示斐波那契数列的前n项 a=1 #第一项 b=1 #第二项 c=0 #中间变量,用来储存a的值 Fibonacci=0 #斐波那契数列的第n项 read -p "输入数字n,显示数列的前n项" n #如果n<=3则输出前三项 if [ "${n}" -le "3" ]; then case ${n} in "1") Fibonacci=${a} echo -e "${Fibonacci}" ;; "2") Fibonacci=${a} echo -e "${Fibonacci}" echo -e "${Fibonacci}" ;; "3") Fibonacci=${a} echo -e "${Fibonacci}" echo -e "${Fibonacci}" Fibonacci=$((${a}+${b})) echo -e "${Fibonacci}" esac fi #如果n>=4,输出剩余的项 if [ "${n}" -ge "4" ]; then Fibonacci=${a} echo -e "${Fibonacci}" echo -e "${Fibonacci}" Fibonacci=$((${a}+${b})) echo -e "${Fibonacci}" for ((i=4; i<=${n}; i=i+1 )) do c=${a} a=${b} b=$((${c}+${b})) Fibonacci=$((${a}+${b})) echo -e "${Fibonacci}" done fi
运行shell脚本
xxx.sh(xxx为这个shell脚本的文件名)
bash Fibonacci.sh


总结
文章来源: https://blog.csdn.net/undefinedUser_1/article/details/90304577