Shell實現菲波那切數列

 菲波那切數列大家一定也不陌生,我在這也就不多做解釋了,下面我用三種方式實現菲波那切數列:

1、遞歸方式:

 28 if [ $# -ne 1 ];then
 29     exit 1
 30 fi
 31 function fib()
 32 {
 33     local num=$1
 34     [ $num -le 2 ] &&
 35     {
 36         echo 1
 37         return
 38     }
 39     echo "`fib $(( num-1 ))`+`fib $(( num-2 ))`" | bc
 40 }
 41 fib $1
 42 

2、循環方式:

  3 #first=1
  4 #second=1
  5 #last=1
  6 
  7 #i=3
  8 #while [ $i -le $1 ]
  9 #do
 10 #   let last=first+second
 11 #   let first=second
 12 #   let second=last
 13 #   let i++
 14 #done
 15 #echo $last
 16 
3、數組方式:

 17arr=(1 1)
 18 i=1
 19 while [ $i -le $1 ]
 20 do
 21     let arr[$i+1]=arr[$i]+arr[$i-1]
 22     let i++
 23 done
 24 echo ${arr[$i-1]}

運行結果:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章