shell-嵌套循环实例

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、打印杨辉三角

分析:杨辉三角
1
1 1
1 2 1
1 3 3 1
1 、每行数字左右对称,由 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

 结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值