Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: Matching random numbers
Posted:
Aug 16, 1996 3:03 AM


In article <4uphfg$6b5@dragonfly.wolfram.com>, "A. OrtizTapia" <ao202@cus.cam.ac.uk> wrote:
>I have written the following program: > >In[3]:= > (count = 0 ; > Label[nextrandom]; > pileup = pileup + 1; > x = Random[]; > y = Random[]; > a = Round[100*x]; > b = Round[100*y]; > If[a== b,Return[x], Goto[nextrandom]]; > If[count == 5000, Break[]]; >Goto[nextrandom]) > >The purpose of this program is to produce two inpendent random numbers; >match this two numbers by "converting" them to integers, then if they >are equal print either of them (I choosed x), *and* increment the value >of a variable, such that at the end I can have 5000 "matched" random >numbers. The program, so far, gives out *only one number*.
The exit condition for the loop occurs when a == b. The statement Return[x] causes the loop to be exited and returns a single value, x.
To return the x,y pair, you could change the Return statement to Return[{x,y}].
BTW, this program seems to have some problems. It appears you intend for the program to exit after 5000 tries. The variable count is set to 0 and never incremented. So the If[count == 5000, Break[]]; statement the test will always evaluate as false and the Break[] statement will never execute.
The speed of the program would proabably benefit by using either the Do or While constructs.
 "Against supidity, the Gods themselves contend in vain"



