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号