METODOS CONGRUNECIAL MIXTO, ALEATORIOS NO REPETIDOS
Enviado por • 1 de Octubre de 2014 • 371 Palabras (2 Páginas) • 234 Visitas
CODIGO:
package norepetidos;
public class aleatorionorepetidos
{
public static void main(String[] args) {
int a=1;
int c=2;
int semilla=7;
int m=15;
int n=0;
int nxn=semilla;
int i,j,k,p,q,c1=1;
int xn[]= new int[11];
for (a=0; a<m; a++) {
for (c=0; c<m; c++) { xn[0]= semilla;
for (n=0; n<10; n++) { xn[n+1]= (a*nxn+c)%m; nxn=xn[n+1];
} p=0;
for (i=0; i<10; i++) { k=0;
for (j=0; j<10; j++) {
if (xn[i] != xn[j]) { k++;
if (k==9)
{ k=0;
{ p++;
if (p==9)
{ System.out.println("a="+a+"\tc="+c+"\tPaquete #: " +c1+"\n"); c1++;
for (q=0; q<10; q++)
{ System.out.println(" Xn["+q+"]=" + xn[q]); }
}
}
}
}
}
}
}
}
}
}
RESULTADOS:
a=1 c=2 Paquete #: 1
Xn[0]=7
Xn[1]=11
Xn[2]=13
Xn[3]=0
Xn[4]=2
Xn[5]=4
Xn[6]=6
Xn[7]=8
Xn[8]=10
Xn[9]=12
a=1 c=7 Paquete #: 2
Xn[0]=7
Xn[1]=6
Xn[2]=13
Xn[3]=5
Xn[4]=12
Xn[5]=4
Xn[6]=11
Xn[7]=3
Xn[8]=10
Xn[9]=2
a=1 c=8 Paquete #: 3
Xn[0]=7
Xn[1]=2
Xn[2]=10
Xn[3]=3
Xn[4]=11
Xn[5]=4
Xn[6]=12
Xn[7]=5
Xn[8]=13
Xn[9]=6
a=1 c=13 Paquete #: 4
Xn[0]=7
Xn[1]=12
Xn[2]=10
Xn[3]=8
Xn[4]=6
Xn[5]=4
Xn[6]=2
Xn[7]=0
Xn[8]=13
Xn[9]=11
a=7 c=8 Paquete #: 5
Xn[0]=7
Xn[1]=5
Xn[2]=13
Xn[3]=9
Xn[4]=11
Xn[5]=10
Xn[6]=3
Xn[7]=14
Xn[8]=1
Xn[9]=0
a=7 c=10 Paquete #: 6
Xn[0]=7
Xn[1]=3
Xn[2]=1
Xn[3]=2
Xn[4]=9
Xn[5]=13
Xn[6]=11
Xn[7]=12
Xn[8]=4
Xn[9]=8
a=7 c=13 Paquete #: 7
Xn[0]=7
Xn[1]=6
Xn[2]=10
Xn[3]=8
Xn[4]=9
Xn[5]=1
Xn[6]=5
Xn[7]=3
Xn[8]=4
Xn[9]=11
a=11 c=2 Paquete #: 8
Xn[0]=7
Xn[1]=6
Xn[2]=8
Xn[3]=0
Xn[4]=2
Xn[5]=9
Xn[6]=11
Xn[7]=3
Xn[8]=5
Xn[9]=12
a=11 c=8 Paquete #: 9
Xn[0]=7
Xn[1]=12
Xn[2]=5
Xn[3]=3
Xn[4]=11
Xn[5]=9
Xn[6]=2
Xn[7]=0
Xn[8]=8
Xn[9]=6
a=11 c=11 Paquete #: 10
Xn[0]=7
Xn[1]=0
Xn[2]=11
Xn[3]=12
Xn[4]=8
Xn[5]=9
Xn[6]=5
Xn[7]=6
Xn[8]=2
Xn[9]=3
a=11 c=14 Paquete #: 11
Xn[0]=7
Xn[1]=3
Xn[2]=2
Xn[3]=6
Xn[4]=5
Xn[5]=9
Xn[6]=8
Xn[7]=12
Xn[8]=11
Xn[9]=0
a=13 c=1 Paquete #: 12
Xn[0]=7
Xn[1]=0
Xn[2]=1
Xn[3]=14
Xn[4]=3
Xn[5]=10
Xn[6]=11
Xn[7]=9
Xn[8]=13
Xn[9]=5
a=13 c=4 Paquete #: 13
Xn[0]=7
Xn[1]=9
Xn[2]=1
Xn[3]=2
Xn[4]=0
Xn[5]=4
Xn[6]=11
Xn[7]=12
Xn[8]=10
Xn[9]=14
a=13 c=5 Paquete #: 14
Xn[0]=7
Xn[1]=8
Xn[2]=4
Xn[3]=12
Xn[4]=11
Xn[5]=13
Xn[6]=9
Xn[7]=2
Xn[8]=1
Xn[9]=3
a=13 c=11 Paquete #: 15
Xn[0]=7
Xn[1]=5
Xn[2]=1
Xn[3]=9
Xn[4]=8
Xn[5]=10
Xn[6]=6
Xn[7]=14
Xn[8]=13
Xn[9]=0
a=13 c=14 Paquete #: 16
Xn[0]=7
Xn[1]=14
Xn[2]=1
Xn[3]=12
Xn[4]=5
Xn[5]=4
Xn[6]=6
Xn[7]=2
Xn[8]=10
Xn[9]=9
CONCLUSION:
Realizando un código hemos aprendido como trabaja de manera simulada los números pseudoaleatorios, como es que se comportan donde solo se mostró los valores de las constantes donde se muestran los 10 primeros números diferentes mediantes paquetes. Estos números pseudoaletorios se utilizan en un método llamado método de Montecarlo y su método es en el hallar áreas, volúmenes, entre otras muchas más utilidades
BIBLIOGRAFIA
http://simulacion-de-procesos.blogspot.mx/2011/03/metodos-congruenciales.html
http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/167-numeros-aleatorios-no-repetidos.htm
Unidad-4-generacion-de-numeros-pseudoaleatorios1.pdf
...