Random numbers: Difference between revisions

From Rosetta Code
Content added Content deleted
(-> Tcl)
(Added Java)
Line 2: Line 2:


The goal of this task is to generate a 1000-element array (vector, list, whatever it's called in your language) filled with normally distributed random numbers with a mean of 1.0 and a [http://en.wikipedia.org/wiki/Standard_deviation standard deviation] of 0.5
The goal of this task is to generate a 1000-element array (vector, list, whatever it's called in your language) filled with normally distributed random numbers with a mean of 1.0 and a [http://en.wikipedia.org/wiki/Standard_deviation standard deviation] of 0.5

==[[Java]]==
[[Category:Java]]
Double[] list = new Double[1000];
for(int i = 0;i<list.length;i++) {
Double n;
while((n=Math.random()) > 0.5); // Continue to randomize until the value is or below 0.5.
list[i] = 1 + n;
}



==[[IDL]]==
==[[IDL]]==

Revision as of 18:34, 7 April 2007

Task
Random numbers
You are encouraged to solve this task according to the task description, using any language you may know.

The goal of this task is to generate a 1000-element array (vector, list, whatever it's called in your language) filled with normally distributed random numbers with a mean of 1.0 and a standard deviation of 0.5

Java

Double[] list = new Double[1000];
for(int i = 0;i<list.length;i++) {
  Double n;
  while((n=Math.random()) > 0.5);  // Continue to randomize until the value is or below 0.5.
  list[i] = 1 + n;
}


IDL

result = 1.0 + 0.5*randomn(seed,1000)


Tcl

proc nrand {} {return [expr sqrt(-2*log(rand()))*cos(4*acos(0)*rand())]}
for {set i 0} {$i < 1000} {incr i} {lappend result [expr 1+.5*nrand()]}