Solved

Random numbers

Posted on 1998-10-18
3
171 Views
Last Modified: 2010-03-05
I need a section of code to generate a random number between 0 and some value n and then round it down
0
Comment
Question by:jedimike
  • 2
3 Comments
 
LVL 5

Accepted Solution

by:
b2pi earned 20 total points
ID: 1205474
'round it down' is a bit confusing.

Basically, though, you first need to set a seed if your perl is before
v 5.004 (If you don't, you'll get random numbers, but everytime you
run  the program, you could get about the same random numbers).  Just
to be safe, then


srand( time ^ $$ );

(There are many quibbles that the above might not be random enough.
Chances are, it is. If not, go to www.perl.com and search for
TrulyRandom)

Having seeded, you get a random value r (0 <= r < y ) by calling

$r = rand(y);

if n is a relatively large integer, then, you could do

$r = int(rand(n))

0
 
LVL 84

Expert Comment

by:ozo
ID: 1205475
I would prefer ( time + $$ ) as a seed over ( time ^ $$ )
If $$ has a tendancy to be increasing, it could be easy for ( time ^ $$ ) to be tha same on subsequent runs.
(Using 5.004 may be even more preferred)
0
 
LVL 5

Expert Comment

by:b2pi
ID: 1205476
That requires that $$ is increasing at about the same rate as is time,
so $$ is approximately uniformly (approximately uniformly? Mea culpa,
mea maxima culpa) increasing by 1 per second.  If I remember my
combinatorics correctly (backed up by the perldoc page on srand) that
_still_ gives a 1 in 3 chance of being identical, nu? So if you're on
a machine that is averaging 1 pid per second (no more, no less), then
you've a 1 in 3 chance of problems.  If one's that worried about it,
best go to TrulyRandom, or, my all time favorite, make use of
http://lavarand.sgi.com 
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question