Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: biased random number picking

by RichardK (Priest)
on Jul 12, 2012 at 10:31 UTC ( #981355=note: print w/ replies, xml ) Need Help??


in reply to biased random number picking

Or maybe just

my @values = (100..200); my $i = int( rand(@values) ); my $j = $i; $j = int( rand(@values) ) while $i == $j;


Comment on Re: biased random number picking
Download Code
Re^2: biased random number picking
by Lotus1 (Chaplain) on Jul 12, 2012 at 14:47 UTC

    Since rand takes an expression as its argument and there are 101 elements in @values your code is equivalent to

    my $i = int( rand(101) );

      That's correct :)

      rand returns a value less than the expression so will return an index in the range 0..100. Which is just what we needed -- woot!

        I found your solution confusing since your array had 101 elements and so wouldn't work with the op's data. I realize now this was just a test array of junk values. Your solution works fine for your array of 101 elements since both indexes will be in the range 0..100. Putting the array inside the rand() function is a general solution in case the array size changes.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://981355]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (16)
As of 2014-09-30 14:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (373 votes), past polls