Método Montecarlo (Ruleta)
UTILIZANDO CONGRUENCIAL MIXTO.
Método congruencial mixto a instanciar:
public class CongruencialMixto {
public double Congru(double xn, double a, double c, double m) {
double x = ((a * xn) + c) % m;
xn = x;
return x/100;
}
}
MAIN:
public static void main(String[] args) {
double x;
double xaux = 1267;
for (int i = 1; i < 101; i++) {
CongruencialMixto cm = new CongruencialMixto();
x = cm.Congru(xaux, 874, 147, 187);
xaux = x;
if (x > 0 && x <= 0.125) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 1");
}
if (x > 0.125 && x <= 0.250) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 2");
}
if (x > 0.250 && x <= 0.375) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 3");
}
if (x > 0.375 && x <= 0.5) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 4");
}
if (x > 0.5 && x <= 0.625) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 5");
}
if (x > 0.625 && x <= 0.75) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 6");
}
if (x > 0.75 && x <= 0.875) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 7");
}
if (x > 0.875 && x <= 1) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 8");
}
}
}
Método congruencial mixto a instanciar:
public class CongruencialMixto {
public double Congru(double xn, double a, double c, double m) {
double x = ((a * xn) + c) % m;
xn = x;
return x/100;
}
}
MAIN:
public static void main(String[] args) {
double x;
double xaux = 1267;
for (int i = 1; i < 101; i++) {
CongruencialMixto cm = new CongruencialMixto();
x = cm.Congru(xaux, 874, 147, 187);
xaux = x;
if (x > 0 && x <= 0.125) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 1");
}
if (x > 0.125 && x <= 0.250) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 2");
}
if (x > 0.250 && x <= 0.375) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 3");
}
if (x > 0.375 && x <= 0.5) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 4");
}
if (x > 0.5 && x <= 0.625) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 5");
}
if (x > 0.625 && x <= 0.75) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 6");
}
if (x > 0.75 && x <= 0.875) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 7");
}
if (x > 0.875 && x <= 1) {
System.out.println("Vuelta " + i + ". Probabilidad de dar 8");
}
}
}
Comentarios
Publicar un comentario