• 周日. 10 月 6th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

shell脚本生成双色球号码

admin

11 月 28, 2021
规则:
1、第七条“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1–33中选择;蓝色球号码从1–16中选择。
2、第二十五条“双色球”彩票以投注者所选单注投注号码(复式投注按所覆盖的单注计)与当期开出中奖号码相符的球色和个数确定中奖等级:

一等奖:7个号码相符(6个红色球号码和1个蓝色球号码)(红色球号码顺序不限,下同)
shell脚本自动生成红球、蓝球数字:

[root@node-1 shell]# more double-ball.sh 
#!/bin/bash
#定义零长度数组
arr=()
length=${#arr[@]}
while [ "${length}" -lt 6 ]
   do
    #取1到33的随机数
    s=$[$RANDOM%33+1]
    #判断随机数是否在数组中,不在就赋值给数组
    if [[ ! "${arr[@]}" =~ "${s}" ]]
       then
        arr["${length}"]=$s
        let length+=1
       else
        echo '存在'> /dev/null
     fi
    done   
#原数组
#echo ${arr[*]}
#对数组进行排序操作
for ((i=0; i<${#arr[@]}; i++))
do
       for ((j=0; j<${#arr[@]}-1; j++))
       do
              #${arr[j]}获取单个元素,-gt为大于
              if [[ ${arr[j]} -gt ${arr[j+1]} ]]
              then
                     #分别定义min为小值,MAX为大值
                     min=${arr[j+1]}
                     max=${arr[j]}
                     #调整数组arr中数值顺序
                     arr[j]=$min
                     arr[j+1]=$max
              fi
       done
done
#输出冒泡排序结果
echo 红色球:${arr[@]}
#蓝色球从1到16中随意选择一个
echo 蓝色球:$[$RANDOM%16+1]
[root@node-1 shell]# ./double-ball.sh 
红色球:8 10 12 19 20 22
蓝色球:6

  

做一个决定,并不难,难的是付诸行动,并且坚持到底。

发表回复