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:
-
1 - egyik győz,
-
2 - másik győz,
-
x - döntetlen.

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.

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


