1、打印九九乘法表
#!/bin/bash
#########################
#File name:nine_nine.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2022-08-30 21:55:48
#Description:
#########################
for i in {1..9}
do
for j in `seq $i`
do
echo -en "$i*$j=$(($i*$j))\t" # e 识别\t n 不换行
done
echo "" #换行
done
结果:
2、打印三角形
#!/bin/bash
#########################
#File name:nine_nine.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2022-08-30 21:55:48
#Description:
#########################
for ((i=1; i<10; i++))
do
for ((j=1; j<=10-i; j++))
do
echo -n " ";
done
for ((k=1; k<=i; k++))
do
echo -n "$i "
done
echo ""
done
~
结果:
3、打印杨辉三角
分析:杨辉三角11 11 2 11 3 3 11 、每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1 。2 、第 n 行的数字个数为 n 个。3 、第 n 行数字和为 2^(n - 1) 。( 2 的( n-1 )次方)4 、每个数字等于上一行的左右两个数字之和。5 、将第 2n + 1 行第 1 个数,跟第 2n + 2 行第 3 个数、第 2n + 3 行第 5 个数 …… 连成一线,这些数的和是第 2n 个斐波那契数。将第 2n 行第 2 个数,跟第 2n + 1 行第 4 个数、第 2n + 2 行第 6 个数 …… 这些数之和是第 2n-1 个斐波那契数。6 、第 n 行的第 1 个数为 1 ,第二个数为 1×(n-1) ,第三个数为 1×(n-1)× ( n-2 ) /2 ,第四个数为 1×(n-1)× ( n-2 ) /2× ( n-3 ) /3… 依此类推。7 . 两个未知数和的 n 次方运算后的各项系数依次为杨辉三角的第 (n + 1 ) 行。
#!/bin/bash
#########################
#File name:yanghui.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2022-08-31 18:29:22
#Description:
#########################
if (test -z $1)
then
read -p "Input Max Lines:" MAX
else
MAX=$1
fi
i=1
while [ $i -le $MAX ]
do
j=1
while [ $j -le $i ]
do
f=$[i-1]
g=$[j-1]
if [ $j -eq $i ] || [ $j -eq 1 ];then
declare SUM_${i}_$j=1
else
declare A=$[SUM_${f}_$j]
declare B=$[SUM_${f}_$g]
declare SUM_${i}_$j=`expr $A + $B`
fi
echo -en $[SUM_${i}_$j]""
let j++
done
echo
let i++
done
结果: