Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
I need a random number generator.
I need a random number generator.
✍: Guest
The Standard C library has one: rand. The implementation on your system may not be perfect, but writing a better one isn't necessarily easy, either.
Here is a portable C implementation of the ``minimal standard'' generator :
#define a 16807
#define m 2147483647
#define q (m / a)
#define r (m % a)
static long int seed = 1;
long int PMrand()
{
long int hi = seed / q;
long int lo = seed % q;
long int test = a * lo - r * hi;
if(test > 0)
seed = test;
else seed = test + m;
return seed;
}
(The ``minimal standard'' is adequately good; it is something ``against which all others should be judged''; it is recommended for use ``unless one has access to a random number generator known to be better.'')
This code implements the generator
X <- (aX + c) mod m
for a = 16807, m = 2147483647 (which is 2**31-1), and c = 0. The multiplication is carried out using a technique described by Schrage, ensuring that the intermediate result aX does not overflow. The implementation above returns long int values in the range [1, 2147483646]; that is, it corresponds to C's rand with a RAND_MAX of 2147483646, except that it never returns 0. To alter it to return floating-point numbers in the range (0, 1), change the declaration to
double PMrand()
and the last line to
return (double)seed / m;
For slightly better statistical properties, now recommend using a = 48271.
2015-08-03, 1700👍, 0💬
Popular Posts:
How To Run "mysql" Commands from a Batch File? - MySQL FAQs - Command-Line End User Interface mysql ...
Wha is the output from System.out.println("Hell o"+null);?Hellonull
How To Assign Debug Privileges to a User? - Oracle DBA FAQ - Introduction to Oracle SQL Developer In...
What is the main difference between a Vector and an ArrayList? Java Vector class is internally synch...
If XML does not have closing tag will it work? No, every tag in XML which is opened should have a cl...