Programozás‎ > ‎Gyakorlatok 1.‎ > ‎

FB megoldas

A program egy l egészet vár parancssori argumentumként, ennyiszer végzi el a kísérletet. Kiírja az egyes esetekben, hogy hány lépés kellett, végül pedig az átlagukat (egészként): ez nekem általában 110 körül jött ki.

public class bolyongas {

    public static int lenyeg () {
        // a pont koordinátái (a;b)
        int a = 0;
        int b = 0;
        double c = 0.0; // távolság
        int d = 0; // lépések száma
        while (c<=10.0) {
            double p = Math.random();
            if (p<=0.25) {a++;}
            if (0.25<p && p<=0.5) {b--;}
            if (0.5 <p && p<=0.75) {a--;}
            if (0.75<p && p<=1.0) {b++;}
            c = Math.sqrt(a*a+b*b);
            d++;
        }
        return d;
    }
    public static void main (String args[]) {
        int l = Integer.parseInt(args[0]); // ennyi alkalommal végezzük el a tesztet
        long osszeg = 0;
        for (int e = 1; e<=l; e++) {
            int d = lenyeg();
            System.out.println(d);
            osszeg = osszeg + d;
        }
        long atlag = osszeg / l;
        System.out.println("Atlag: "+atlag);
    }

}