菲波那切數列大家一定也不陌生,我在這也就不多做解釋了,下面我用三種方式實現菲波那切數列:
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]}
運行結果: