Red de conocimiento informático - Conocimientos de programación - Programación para generar números aleatorios distribuidos uniformemente.

Programación para generar números aleatorios distribuidos uniformemente.

Doble rand (doble []r)

{

Base doble, u, p, v, temp1, temp2, temp3

Base = 256,0 < / p>

u = 17.0;

v = 139.0;

temp 1 = u *(r[0])+v //incluso si es total

temp 2 =(int)(temp 1/base); //Calculadora

temp 3 = temp 1-temp 2 * base; //Restante

r[ 0; ]= temp 3; //Actualiza la semilla aleatoria para usarla la próxima vez.

p = r[0]/base; //Generar número aleatorio

Devuelve p;

}

Donde base es el número base, generalmente se eliminan los múltiplos enteros de 2 y las constantes u y v se pueden elegir arbitrariamente. La matriz r[] es una matriz con un solo valor. Por ejemplo: doble[]r={5.0}.