Wahrscheinlichkeiten im Poker

#1

Ich schreibe gerade an meiner Maturaarbeit über “Wahrscheinlichkeitsrechung anhand von Glücksspielen”. Deswegen möchte ich die Wahrscheinlichkeiten von Kartenkombinationen errechnen (Pärchen, Drilling, etc.)

Mit diesem Code möchte ich erstmal die Wahrscheinlichkeit eines Pärchens berechnen: ```package main;

import java.util.Date;

public class PokerCalculator {
public static long factorial( int n ) {
if( n <= 1 ) // base case
return 1;
else
return n * factorial( n - 1 );
}

public static long binomialCoefficient( int n, int k ) {
	return ( factorial(n)/(factorial(k)*factorial(n-k)) );
}

public static void sameCardChance( int sameCards ) {
	double chance = 1d;
	double cards_left = 52d;
	double card_occ = 4d;
	
	for ( int i=0; i<5; i++ ) {
		if ( i < sameCards ) {
			chance *= card_occ/cards_left;
			//System.out.print( "(" + ((int) card_occ) + "/" + ((int) cards_left) + ")*" );
			card_occ--;
		} else {
			chance *= (cards_left-card_occ)/cards_left;
			//System.out.print( "(" + ((int) (cards_left-card_occ)) + "/" + ((int) cards_left) + ")*" );
		}
		
		cards_left--;
	}
	
	System.out.println( chance*binomialCoefficient(5, sameCards)*100 );
}

public static double round( double n, int dezimals ) {
	double multi = Math.pow( 10d, (double) dezimals );
	return Math.round( n*multi )/multi; 
}

/**
 * @param args
 */
public static void main(String[] args) {
	long before = new Date().getTime();
	
	//long binom = binomialCoefficient( 5, 2 );
	//long fact = factorial( 5 );
	sameCardChance( 2 );
	
	long after = new Date().getTime();
	
	//System.out.println( "5! = " + fact + " (" + (after-before) + "ms)" );
	//System.out.println( "5 ueber 2 = " + binom + " (" + (after-before) + "ms)" );
}

}```

Das Ergebnis ist leider viel zu klein - laut Wikipedia und meinem Hausverstand.