根据杨辉三角形的每行元素第一位与最后一位都是1,且每个数等于它上方两数之和,且每行元素数等于行数。利用这些规律,我们很简单的就可以把杨辉三角形实现出来了!
我的想法是用二个数组,循环相互根据对方元素来对自己的元素进行赋值,且首尾都为1
好吧!讲的比较乱,希望你可以看的懂,下面是代码实现
#!/bin/bash
declare -a triangle
declare -a triangleTwo
#给数组的第一个元素赋值
triangle[0]=1
triangleTwo[0]=1
#立flag,用于循环中轮流执行某代码段
flag=true
#先打印triangle数组的1
echo $triangle
#先来用一个5行的杨辉三角形
for ((i=1;i<$1;i++)); do
#利用if else语句来循环轮流执行的代码段
if $flag; then
#把triangle的元素个数取出来,再利用它来进行下面的循环次数
numbers=${#triangle[*]}
#给最后一个字符赋值为1
triangleTwo[$numbers]=1
#根据triangle的长度,来确定循环赋值执行的次数
for ((x=1;x<=${numbers};x++));do
#triangleTwo的值来处于triangle的相邻两位元素
triangleTwo[x]=$((triangle[$[x-1]]+t