How to generate a serial random number

L

Li Chen

Hi all,

I want to generate a serial of 5 random numbers based on the size of an
array(let say the size of array is 100).
Here are the rules:1) 5 random numbers are different 2) Once they are
generated they can't appear in the next round of random numbers. What is
the better way to do this? Now what I think of is to remove the items
corresponding to the random number from the previouse array and
eventually my array is smaller and smaller. Any other idea?

Thanks,

Li
 
P

Phrogz

I want to generate a serial of 5 random numbers based on the size of an
array(let say the size of array is 100).
Here are the rules:1) 5 random numbers are different 2) Once they are
generated they can't appear in the next round of random numbers. What is
the better way to do this? Now what I think of is to remove the items
corresponding to the random number from the previouse array and
eventually my array is smaller and smaller. Any other idea?

I agree that removing the items is the way to go.

To start with, create an array filled with unique numbers. Depending
on your needs, you may want to just do something like:
@array = (1..2000).map{ rand(max_rand_size) }.uniq
You may end up with less then 2,000 values, depending on how big
max_rand_size is.

Then randomize the array.
@array = @array.sort_by{ rand }

Then just pop the values off the array each time you need one.
value = @array.pop

Here's a similar example I wrote in JavaScript for someone years ago:
http://phrogz.net/tmp/7x7_random.html
It differs in that it required a specific set of numbers in a random
but non-repeating order.
 
P

Phrogz

You may end up with less then 2,000 values...

5.times{
me.stare_at( :word=>"then" )

me.stare_at( :eek:bject=>"fingers", :using=>:horror, :modifier=>:increasing )
}

me.rename( :eek:bject=>"fingers", "homonymic transcription devices" )

me.puts "Ugh. I _hate_ it when other people type that, too."

me.last_post.gsub 'less then', 'less than'

me.sigh
 
G

Gareth Adams

Phrogz said:
...
me.last_post.gsub 'less then', 'less than'

If you want to be picky then it should be "fewer" too

You have "fewer" things you can have "a few" of
~~ fewer/a few values NOT fewer/a few time

You have "less" things you can have "a little" of
~~ less/a little time NOT less/a little values

But then you still have a "than" to deal with
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top