注册 登录
编程论坛 程序供求

关于随机数和抽奖软件

tianshilei 发布于 2011-05-30 23:15, 2316 次点击
想制作一个抽奖软件来生成福利彩票的号码,得用到随机数,但是每次随机数是不是会重置?能否用代码实现一个功能,比如,福利彩票前6个数字的要求是1~33之间,假如第一个生成的是23,那么以后的随机数就从1~33去除23这32个数字中生成,这样涉及到概率的问题,原来如果随机数生成器被重置的话,那么概率又变成1/33,而想要的是1/33下一个是1/32,下一个是1/31这样的效果,随机数能实现吗?
13 回复
#2
Artless2011-05-30 23:36
#3
tianshilei2011-06-01 14:04
回复 2楼 Artless
太尴尬了,貌似我没违反论坛的规则吧……
#4
wujieru2011-06-01 17:10
你这个是项目呢?还是什么东西?做来玩的?
#5
tianshilei2011-06-02 12:32
回复 4楼 wujieru
做着玩的,自学的VB嘛,我们宿舍有个娃正合适喜欢买彩票,我就想给他做着玩~~~
#6
tianshilei2011-06-06 23:19
回复 4楼 wujieru
我解决了,是看《JAVA核心技术第一卷:基础知识》里面有一个类似的Java题目,然后解决方案就是,声明一个一维数组a[33],数组下标是从1开始,到33结束。让其存储1~33数字,然后随机数每次生成的是数组的下标,比如第一次生成的是17,那么对应的就是17,然后让a[17]=a[33],这样再让随机数从32个数种随机生成,假如生成的还是17,那么对应的就是33了,这样以此类推!嘿嘿!
#7
心灵百合2011-06-17 12:14
一维数组的下标是从0开始的
#8
编程的乐趣2011-06-19 15:58
有趣
#9
tianshilei2011-06-20 21:46
回复 7楼 心灵百合
可以从1开始的呀。
#10
szltongcom2011-07-09 09:56
嗯,
#11
千结0012011-07-11 16:55
有意思。。
#12
yuutian2011-07-17 15:53
程序代码:
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
  randomize;
  for i:=1 to 6 do
  memo1.Lines.Add(inttostr(random(33)));
end;
#13
翠韵天下2011-07-29 18:41
这是一段程序代码,谁能给破解一下:
                                             ?    -  Y                         S                                                 Y               Y                Y              
Y               ?
Y               ?
Y               ?
Y               ?
Y                 ? c c o l u m n
 g r b i t  i c o l u m n  s z C o l u m n  s z O b j e c t $ s z R e f e r e n c e d C o l u m n $ s z R e f e r e n c e d O b j e c t  s z R e l a t i o n s h i p ?    
1