LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1072|回复: 6

彩票双色球选号器

[复制链接]
发表于 2007-5-6 16:05:49 | 显示全部楼层 |阅读模式
  1. #!/bin/bash
  2. a=1
  3. while [ $a -eq 1 ]
  4. do
  5. eval A=\($(seq -s" " 1 32)\)
  6. a=${A[$(($RANDOM%${#A[*]}))]}

  7. eval B=\($(seq -s" " 1 32)\)
  8. b=${B[$(($RANDOM%${#B[*]}))]}

  9. eval C=\($(seq -s" " 1 32)\)
  10. c=${C[$(($RANDOM%${#C[*]}))]}

  11. eval D=\($(seq -s" " 1 32)\)
  12. d=${D[$(($RANDOM%${#D[*]}))]}

  13. eval E=\($(seq -s" " 1 32)\)
  14. e=${E[$(($RANDOM%${#E[*]}))]}

  15. eval F=\($(seq -s" " 1 32)\)
  16. f=${F[$(($RANDOM%${#F[*]}))]}
  17. if [ "$a" != "$b" ] && [ "$b" != "$c" ] && [ "$c" != "$d" ] && [ "$d" != "$e" ] && [ "$e" != "$f" ]
  18. then
  19. sum=`echo -e "$a\n $b\n $c\n $d\n $e\n $f" |sort -n|xargs`
  20. a=0
  21. else
  22. a=1
  23. fi
  24. done
  25. eval G=\($(seq -s" " 1 16)\)
  26. g=${G[$(($RANDOM%${#G[*]}))]}
  27. echo -e "\e[34m$sum\e[0m \e[31m$g\e[0m"
复制代码

对于彩民说的一句话:
想知道希望是什么吗?去买一张彩票吧!
想知道失望是什么吗?去买一堆彩票吧!
 楼主| 发表于 2007-5-6 16:11:49 | 显示全部楼层
发现有点问题,有时候执行结果是其中的两个数相同
13 18 20 20 21 26 8或13 13 21 23 29 32 7
可是我其中的
if [ "$a" != "$b" ] && [ "$b" != "$c" ] && [ "$c" != "$d" ] && [ "$d" != "$e" ] && [ "$e" != "$f" ]
这一段好像没有错啊.
回复 支持 反对

使用道具 举报

发表于 2007-5-7 09:10:06 | 显示全部楼层
$a 可以等于$c $d $e $f
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-7 09:12:51 | 显示全部楼层
Post by lastart
$a 可以等于$c $d $e $f

我写的是$a 不等于$b ,$b不等于$c 那么$c应该也不会等于$a才对啊
回复 支持 反对

使用道具 举报

发表于 2007-5-7 15:22:08 | 显示全部楼层
思路太烦琐了 给你一个写个awk的 借鉴一下

  1. awk -v TOP=$1 -v NUM=$2 '
  2. BEGIN{
  3. if(TOP<=0 || TOP="")
  4. TOP=36
  5. if(NUM<=0 || NUM="")
  6. NUM=7
  7. printf("get %d numbers from 1 to %d\n" , NUM , TOP)

  8. srand()

  9. for(j=1;j<=NUM;j++){
  10.         do{
  11.                 select=1+int(rand()*TOP)
  12.         }while(select in pick)
  13.                 pick[select]=select
  14. }
  15. for(k in pick){
  16.         printf("%d\n",pick[k])
  17. }

  18. }'
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-5-8 09:24:29 | 显示全部楼层
不等关系没有传递性,等于关系才有传递性
比如:
1 != 2 2 != 3 3 != 1 不能推出1 != 1
1 == 2 2 == 3 3 == 1 才能推出 1 == 3
回复 支持 反对

使用道具 举报

发表于 2007-5-17 00:33:46 | 显示全部楼层
Post by lee_vs
我写的是$a 不等于$b ,$b不等于$c 那么$c应该也不会等于$a才对啊


汗死了
1 != 2, 2!= 1, 1 ==1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表