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");
            }
        }

    }

Comentarios