找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1520|回复: 7

[讨论]彩票随机号输出算法

[复制链接]
发表于 2009-10-31 02:13:46 | 显示全部楼层 |阅读模式 IP:江苏扬州
今天突发异想,想做个彩票号码随机输出的程序,这个程序应该很小。不过我对彩票的规则一点也不通阿。有兴趣的朋友可否指点一下?
发表于 2009-10-31 02:13:47 | 显示全部楼层 IP:江苏扬州
搞几个随机数可以吗?
rand()
回复

使用道具 举报

发表于 2009-10-31 02:13:48 | 显示全部楼层 IP:江苏扬州
嗯,主要就是随机数。但是彩票的规则,从多少个数选多少个阿什么的,我不太懂哦。
回复

使用道具 举报

发表于 2009-10-31 02:13:49 | 显示全部楼层 IP:江苏扬州
今天看到了双色球玩法:“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1--33中选择;蓝色球号码从1--16中选择。

一般的算法是,用随机数发生器依次产生6个1-33的数字,再依次产生1个1-16的数字。
这样的算法我总觉得概率上和实际不符。因为实际上第一个数字产生的概率是1/33,第二个数字概率是1/32,……,第6个数字概率是1/27。
而上面的算法每个数字产生的几率都是1/33。

那么问题是: 如何改进这个算法?
回复

使用道具 举报

发表于 2009-10-31 02:13:49 | 显示全部楼层 IP:江苏扬州
rand() 就行了, 根本没什么算法可谈的
回复

使用道具 举报

发表于 2009-10-31 02:13:50 | 显示全部楼层 IP:江苏扬州
那种算法是符合实际情况的。从一些数字中不重复选出,概率相等,与顺序无关。离散数学的内容。
回复

使用道具 举报

发表于 2009-10-31 02:13:51 | 显示全部楼层 IP:江苏扬州
是不是彩票的输出就不用考虑概率问题呢?只要每一个数字都是随机数就好。
回复

使用道具 举报

发表于 2009-10-31 02:13:52 | 显示全部楼层 IP:江苏扬州
35选7代码如下:int i;
int j = 0;
int RanCheckNum = 0;
int Arr35[7];
bool Flg35[35];
CString str;

for (i = 0; i < 35; i++) {
Flg35[i] = false;
}
srand( (unsigned)time( NULL ) );
for( i = 0; ;i++ ){
RanCheckNum = rand() % 36;
if ((RanCheckNum != 0) && (!Flg35[RanCheckNum - 1])){
Arr35[j] = RanCheckNum;
Flg35[RanCheckNum - 1] = true;
j += 1;
if (j == 7) {
break;
}
}
}
for (i = 0; i < 7; i++) {
for(j = 6; j > i; j--)
if (Arr35[j] < Arr35[j-1]){
int tmpNum;
tmpNum = Arr35[j];
Arr35[j] = Arr35[j-1];
Arr35[j-1] = tmpNum;
}
}
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 17:32 , Processed in 0.245800 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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