创建一个数值概率发生器 - Euromillions Generator

时间:2014-06-08 16:22:53

标签: delphi-7

我正在寻求帮助。我正在寻找创建一个数值概率生成器,但让我解释一下我要求的那种帮助。 我已经想出了一个可以随机生成数字的源代码,但是我想让一些数字生成的机会比其他数字更多。

到目前为止,我已经得到了这个,但这只会产生这个数字,而这就是我大脑爆炸的地方。此代码不会区分数字,它不会生成12 ..它生成1或2。 我想让它“看”让我们说...... a 1 a 2和12

请帮帮我。

var
i: integer;
const
str = '0102030405060708091011121314151617181920212223242  526272829303132333435363738394041424344454647484950';
max = 5;
begin
Edit1.Text := '';
Randomize;
for i := 1 to max do
Edit1.Text := Edit1.Text + str[random(length(str))+1];

诚恳, Hopsins

1 个答案:

答案 0 :(得分:0)

要从str中提取数字,您需要两位数字。要选择' 01',您需要从位置#1开始拉出两个字符。对于' 02',您需要从#3位置开始。 ' 03'从位置#5开始。您可能想要使用表达式:

copy ( str,  random ( length(str) div 2 ) * 2 + 1, 2  )

此处length(str)为100,length(str) div 2为50。 random生成0到49之间的数字。 将其乘以2,并加1,以获取第一个字符的索引。 然后使用copy从该位置开始拉出两个字符。