Re: Matching random numbers

*To*: mathgroup at smc.vnet.net*Subject*: [mg4638] Re: Matching random numbers*From*: browe at netcom.com (Bill Rowe)*Date*: Thu, 22 Aug 1996 03:54:55 -0400*Organization*: none apparent*Sender*: owner-wri-mathgroup at wolfram.com

In article <4uphfg$6b5 at dragonfly.wolfram.com>, "A. Ortiz-Tapia" <ao202 at 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" ==== [MESSAGE SEPARATOR] ====