编写一个Shell程序,显示Fibonacci数列的前20项?

5、编写一个Shell程序,显示Fibonacci数列的前20项。例如: 1,2,3,5,8,13,21,……其中,斐波那契数列: 1,1,2,3,5,8,13,21,……,设F(n)为该数列的第n项,n属于自然数,F(1)=1, F(2) =1,F(n) =F(n-1)+ F(n-2)n>=3求大佬

Fibonacci其实就是不断求和,前两个数的和形成第三个数。
为方便说明,假设两个变量A和B,A+B=C,C就是和。

#!/bin/sh
first=1; echo “$first” #打印第一个数A=1
second=1; echo –n “,$second” #接着不换行打印第二个数B=1,以逗号分隔
sum=`expr $first + $second` #计算前两个数的和C
i=1 #设置一个变量用于循环计数
while [ $i –le 8 ] #变量小于等于8就一直循环(加前面两个数共10个)
do
temp=`expr $first + $second` #计算前两个数的和C
echo -n “,$temp” #不换行打印C,以逗号分隔
first=$second #B作为A
second=$temp #C作为B
sum=`expr $sum + $second` #继续计算新的和C
i=`expr $i + 1 ` #计数加1
done
温馨提示:答案为网友推荐,仅供参考
相似回答