Re: Non-repeating Random Numbers
This WebDNA talk-list message is from 2002
It keeps the original formatting.
numero = 43036
interpreted = N
texte = Dan Strong wrote:> Generate 6 random numbers between 1 and 54:> > How do I simply and elegantly ensure that all six numbers are different? > By simply and elegantly I mean without resorting to any temp .dbs or > anything like that.>
That's not random, though. A true random number sequence can contain a very large run of identical values.What I think you want is to chose 6 unique values from between 1 and 54. Why don't you store the result in a text variable and check to see if the value you are looking for is already there? Remember to use a delimeter around each value so you don't match substrings. Something like this (NOT TESTED):[text]numbers=+[text][math]found=0[/math][loop start=1&end=20] [text]number=[math]ceil([RANDOM format=float]*(54))[/math][/text] [showif [numbers]!+[number]+] [text]numbers=[numbers]+[number]+[/text] [math]found=[found]+1[/math] [/showif] [showif [found]=6][break][/showif][/loop]then your [numbers] text variable contains all 6 unique values. Be aware that PRND's for most computers are really lousy.John-- John PeacockDirector of Information Research and TechnologyRowman & Littlefield Publishing Group4720 Boston WayLanham, MD 20706301-459-3366 x.5010fax 301-429-5747-------------------------------------------------------------This message is sent to you because you are subscribed to the mailing list
.To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/
Associated Messages, from the most recent to the oldest:
Dan Strong wrote:> Generate 6 random numbers between 1 and 54:> > How do I simply and elegantly ensure that all six numbers are different? > By simply and elegantly I mean without resorting to any temp .dbs or > anything like that.> That's not random, though. A true random number sequence can contain a very large run of identical values.What I think you want is to chose 6 unique values from between 1 and 54. Why don't you store the result in a text variable and check to see if the value you are looking for is already there? Remember to use a delimeter around each value so you don't match substrings. Something like this (NOT TESTED):[text]numbers=+[text][math]found=0[/math][loop start=1&end=20] [text]number=[math]ceil([RANDOM format=float]*(54))[/math][/text] [showif [numbers]!+[number]+] [text]numbers=[numbers]+[number]+[/text] [math]found=[found]+1[/math] [/showif] [showif [found]=6][break][/showif][/loop]then your [numbers] text variable contains all 6 unique values. Be aware that PRND's for most computers are really lousy.John-- John PeacockDirector of Information Research and TechnologyRowman & Littlefield Publishing Group4720 Boston WayLanham, MD 20706301-459-3366 x.5010fax 301-429-5747-------------------------------------------------------------This message is sent to you because you are subscribed to the mailing list .To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/
John Peacock
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
Still online from NY (2003)
sendmail (2000)
More DateMath problems (1997)
PSC recommends what date format yr 2000??? (1997)
Count regular expressions in a file (2007)
Some Questions (1997)
Templates on Unix & CGI on Mac? (1997)
Extra Text Fields (was Another question) (1997)
eAuthorize experience ... ? (2002)
Problems with Price field (1997)
Banners (1997)
MD5 Encryption (2003)
[ConvertChars] problem (1997)
Showif date range comparison (1999)
Multiple prices (1997)
autosensing lanague selection (1997)
[Fwd: Rotating Banners ... (was LinkExchange)] (1997)
[WebDNA] MacWorld - Jan 2009 (2008)
[WebDNA] slideshow (2008)
[protect] on NT? (1997)