22_生成斐波那契数列
1.斐波那契数列
#!/bin/bash
# 斐波那契数列后一个数字永远是前 2 个数字之和
# 0 1 1 2 3 5 8 13 21 34 55 89
arr=(0 1)
# 方法1
function fb1() {
    for i in $(seq 2 11); do
        arr[$i]=$(expr ${arr[-1]} + ${arr[-2]})
    done
    echo ${arr[@]}
}
# 方法2
function fb2() {
    for i in $(seq 100); do
        len=${#arr[@]}
        last1=$(($len - 1))
        last2=$(($len - 2))
        sum=$((${arr[$last1]} + ${arr[$last2]}))
        if [ $sum -eq $i ]; then
            arr+=($i)
        fi
    done
    echo ${arr[@]}
}
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号