Gyakorlati alapok

Totózzunk!

 

A totó egy olyan szerencsejáték, amelyben 13+1 futballmeccs kimenetelét kell megjósolni. Minden meccs eredményének 3 valószínűsége van:

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Egy totószelvény kitöltésekor matematikailag nézve kombinatorikával kezdünk el játszadozni, pontosabban annak ismétléses variációs képletével, ahol adott  egy 3 elemű halmaz (1-2-x), amelyet 13+1=14-szer variálgatunk meg; ennek összvariációs lehetősége 314 = 4782969.

 

De a feladat megoldása szempontjából az alkalmazott matematika nem oly lényeges. Mivel minden meccsnek 3-féle kimenetele lehetséges (1-2-x), ezért csupán 1/3 valószínűséget kell leprogramoznunk és ezt viszonylag könnyű megtennünk.

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.Random;

public class Main {
    public static void main(String[] args) {
    int[] tomb = new int[14];
    Random random = new Random();
    System.out.print ("Véletlenszámok: ");
    System.out.println ();
    for (int i = 0; i <= 13; i++){
        tomb[i] = random.nextInt(3) + 1;
        System.out.print (tomb[i] + " ");
    }
    System.out.println ();
    System.out.print ("Mérkőzések: ");
    System.out.println ();
    for (int i = 1; i <= 13; i++){
        System.out.print (i + " ");
    }
    System.out.print ("+1");
    System.out.println ();
    for (int i = 0; i <= 13; i++){
        if (tomb[i] == 1){
            System.out.print ("1 ");
        }
        else if (tomb[i] == 2){
            System.out.print ("2 ");
        }
        else
            System.out.print ("x ");
        }
    }
}

 

Végeredmény (például):

Véletlenszámok:
1 1 1 3 2 1 2 3 3 3 1 2 1 3
Mérkőzések:
1 2 3 4 5 6 7 8 9 10 11 12 13 +1
1 1 1 x 2 1 2 x x x 1 2 1 x

 

A véletlenobjektum létrehozása után (Random random = new Random();) egy 14 elemű tömböt töltünk fel 3 esélyes int típusú számokkal (1 vagy 2 vagy 3):

 

tomb[i] = random.nextInt(3) + 1;

 

A következő for ciklus i változójának felhasználásával kiírjuk a meccsek sorszámát és hozzáillesztjük a "+1" stringet:

 

for (int i = 1; i <= 13; i++){
    System.out.print (i + " ");
}
System.out.print ("+1");

 

Ezután már csak a feltételmegadás van hátra:

 

if (tomb[i] == 1){
    System.out.print ("1 ");
}
else if (tomb[i] == 2){
    System.out.print ("2 ");
}
else
    System.out.print ("x ");