comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Lotto simulation
Date: Sun, 15 Jun 2014 21:43:25 +0100
Date: 2014-06-15T21:43:25+01:00	[thread overview]
Message-ID: <lybntt6h02.fsf@pushface.org> (raw)
In-Reply-To: lnkujo$s04$1@online.de

Dirk Heinrichs <dirk.heinrichs@altum.de> writes:

> montgrimpulo wrote:
>
>> this is a placeholder of the task which I am trying to solve in Ada.
>> As you may know in German Lotto there are 49 numbers 1..49
>> from which you have to select 6 numbers to place a bet.
>> 
>> Second Round:
>> Here does my problem start. Now I have a set of numbers where
>> one number - which was randomly selected in the first round -
>> is missing. How do I use the random function to select another
>> random number out of the rest ?
>> 
>> Any ideas to answer that question ?
>
> Let's look at how it works in reality: A random ball is selected out of a 
> set of 49 balls, mixed randomly before the pick, resulting in a new set of 
> 48 balls, etc.
>
> So you'd need to start with a sorted array of integers 1 to 49, mix it 
> randomly and then pick a random index out of 1 to 49. The number at that 
> index is then removed from the array.

Why mix it?

> You'd then create a new array of 48 integers filled with the numbers at 1 to 
> picked-1 plus picked+1 to 49 of the former array, mix that array again and 
> pick a random index out of 1 to 48. Again remove the number at that index.

But Ada.Numerics.Discrete_Random picks a random value of the
Result_Subtype it was instantiated with. So if you want to pick a number
in 1 .. 48 you have to create a new instantiation. And the RNG is going
to start off in some state, unrelated to the present state of the RNG
for 1 .. 49. How are you going to be sure that it's not going to return
1 every time?

  reply	other threads:[~2014-06-15 20:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-15 17:07 Lotto simulation montgrimpulo
2014-06-15 18:54 ` Stefan.Lucks
2014-06-15 19:53   ` J-P. Rosen
2014-06-16  5:25     ` Stefan.Lucks
2014-06-16  7:49       ` J-P. Rosen
2014-06-16 11:15         ` Stefan.Lucks
2014-06-16 13:40           ` J-P. Rosen
2014-06-16 14:13             ` Natasha Kerensikova
2014-06-16 17:51             ` Randy Brukardt
2014-06-15 19:56 ` Denis McMahon
2014-06-15 20:10 ` Dirk Heinrichs
2014-06-15 20:43   ` Simon Wright [this message]
2014-06-16 20:22     ` Dirk Heinrichs
2014-06-15 20:54 ` Simon Wright
2014-06-15 22:09 ` Jeffrey Carter
2014-06-16 11:40 ` Markus Schöpflin
2014-06-16 14:25   ` Jacob Sparre Andersen
2014-06-16 12:02 ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox