|
Posted by Jerry Stuckle on 11/10/06 21:29
Kevin Williamson wrote:
> Hi,
>
> I've written a lottery programme in PHP that selects 10 winners a week
> from approximately 18,000 shares.
>
> The problem I have is that of the ten winners one week the same share
> number was drawn the next week and an adjacent share number the
> following week (that just happened to be owned by the same member)
> The program is now being looked at suspisciously.
>
> The main core of the random draw simply puts all the current share
> numbers into an array ($currWinner), draws a random number using the
> rand function between 1 and the number of shares ($lottshares) and
> returns the share id number.
>
> for the random element ofthe program I use:
>
> $currWinner = rand(1,$lottShares);
>
> is this random enough? or is it possible that it needs seeding (although
> I don't totally understand seeding?
>
>
> Any help will be appreciated.
>
> thanks
> Kevin
Kevin,
Yes, I admit that does look suspicious! Of course, it's always possible
for it to happen, but the when you're drawing 10 out of 18K are much
against it :-)
Which version of PHP are you running? The reason I asked, versions
before 4.2 did not automatically seed the random number generator - you
need to do it. See srand().
Version 4.2 and later do this automatically if the generator hasn't been
seeded.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Navigation:
[Reply to this message]
|