+ -
当前位置:首页 → 问答吧 → 自己写的双色球随机生成程序,谁能把红球部分实现升序排列

自己写的双色球随机生成程序,谁能把红球部分实现升序排列

时间:2010-01-21

来源:互联网

最终版本 感谢各位热心人,特谢风沙飞天
===================================
<?php
/*
* Created on 2009-12-4
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
if($_POST){
$num=$_POST[num];
}
?>
双色球
<form action="" method="POST" >
  随机生成:<input type="text" name="num" />投注数
<input type="submit" name="sub" value="生成"/>
</form>
<?php
  for($a=0;$a<$num;$a++){
$tmp=array();
while(count($tmp)<6){
$tmp[]=mt_rand(1,33);
$tmp=array_unique($tmp);
}
sort($tmp);
?>
  <table >
    <tr>
      <td bgcolor="#FF0000">
<?php print join(',',$tmp);?>
</td>
<td> </td>
<td bgcolor="blue"><font color="FFFFFF"><?php  $rand2=rand(1,16);
echo "$rand2  ";
?></font></td>
    </tr>
  </table>
<?php
  }
?>
[ 此帖被shxkiller在2010-01-26 16:04重新编辑 ]
图片:Image00000.jpg
'700')this.width='700';if(this.offsetHeight>'700')this.height='700';" title="Click Here To EnLarge">

作者: shxkiller   发布时间: 2010-01-21

哈哈。。你强

作者: memory   发布时间: 2010-01-21

双色球红球好像是不能重复的吧,你的算法就会出现重复的情形哦,排序倒是不难,不过先调整下算法

作者: tafengnanhai   发布时间: 2010-01-21

无语....

作者: kissmejj126   发布时间: 2010-01-21

管理员,你怎麽是个东西都给精华啊?这个也能算是精华?

作者: kissmejj126   发布时间: 2010-01-21

无语的那位,别嫉妒哥,那你改下
编程来于生活需要  idear 懂不

作者: shxkiller   发布时间: 2010-01-21

修改楼主,排序解决!!!!
复制代码
  1.  <?php
  2. /*
  3. * Created on 2009-12-4
  4. *
  5. * To change the template for this generated file go to
  6. * Window - Preferences - PHPeclipse - PHP - Code Templates
  7. */
  8. if($_POST[sub]){
  9. $num=$_POST[num];
  10. }
  11. ?>
  12. 双色球
  13. <form action="" method="POST" >
  14.   随机生成:<input type="text" name="num" />投注数
  15. <input type="submit" name="sub" value="生成"/>
  16. </form>
  17.  <?php
  18.   $array=array();
  19.   for($a=0;$a<$num;$a++){
  20.   for($i=0;$i<6;$i++)
  21. {
  22. $rand=rand(1,33);
  23. $array[$i]=$rand;
  24. }
  25. sort($array);
  26. ?>
  27.   <table >
  28.     <tr>
  29.       <td bgcolor="#FF0000">
  30. <?php
  31. for($j=0;$j<6;$j++)
  32. {
  33. echo ($array[$j] . " ");
  34. }
  35. ?>
  36. </td>
  37. <td> </td>
  38. <td bgcolor="blue"><font color="FFFFFF"><?php  $rand2=rand(1,16);
  39. echo "$rand2  ";
  40. ?></font></td>
  41.     </tr>
  42.   </table>
  43. <?php
  44.   }
  45. ?>

作者: 风沙飞天   发布时间: 2010-01-21

豁然开朗,当时我也是想放到一个数组的,$array[$i]=$rand;
我写成$array=$rand; 不报错,也没结果
================================
你的签名很好,我也设成我的QQ签名了

[ 此帖被shxkiller在2010-01-21 11:31重新编辑 ]

作者: shxkiller   发布时间: 2010-01-21

这也能加精?
连怎么不让红球出现重复的问题都没解决, 就一个FOR循环 和个随机函数, 这样都加精了, 这算是对初学者的鼓励?

作者: energy162   发布时间: 2010-01-21

作者: arlene   发布时间: 2010-01-21

。。。。。。。。。

作者: shxkiller   发布时间: 2010-01-21

牛人就是牛人

作者: dongdong1237   发布时间: 2010-01-21

重复的,我也发现了,只是工作忙,有空我帮你改下,有朋友先弄好的,先发上来吧

作者: 风沙飞天   发布时间: 2010-01-22

不明白双色求是什么东西。。。。。悲剧

作者: 枫翼之殇   发布时间: 2010-01-22

我已经搞好了,最终版没有这个问题,我已经编辑过了。3Q
[ 此帖被shxkiller在2010-01-22 15:51重新编辑 ]

作者: shxkiller   发布时间: 2010-01-22

真不好意思 又翻出这个帖子,你说到编程思维,但你看LZ开始在对 这个双色球随机生成的程序真的有很认真的考虑过吗?连不能重复出现同一个号码都没考虑进去,思考问题都还不成熟 管理员就加精了 他真的有认真看LZ的代码吗? 精华要有精华的价值 当然后面LZ 完善程序的做法是 值得肯定的

作者: energy162   发布时间: 2010-01-27

加上一段在别的地方看到的 随机生成不同的数字 的算法 比LZ 算法有更高的效率:
   $ary_num= array(0,1,2,3,4,5,6,7,8,9);
      for ($i=0;$i<4;$i++)
      {
          $randn = rand(0,9-$i);
          $return .= $ary_num[$randn];
          $ary_num[$randn] = $ary_num[9-$i];  
      }
      return $return;
比如开始取出来的是3,在进入下一个循环之前
$ary_num=array(0,1,2,9,4,5,6,7,8,9)
这个时候就从0,1,2,9,4,5,6,7,8中随机取一个数字出来
如果randn=5,接下来$ary_num=array(0,1,2,9,4,8,6,7,8);
这样不断用后面的数字填充前面被取出的数字,然后数组的选择范围-1,就不会产生重复数字了。

作者: energy162   发布时间: 2010-01-27

作者: daniel   发布时间: 2010-01-28

相关阅读 更多