// Course : Applied Probability & Stochastic Processes // Instructor : Wlodzimierz Bryc // Student : PingChih Kuo // The following C program inspects all outcomes when five dice are rolled, // and counts how many are " four of a kind". #include #include // this routine counts how many dice have same number int CountEqual( int dice1,int dice2,int dice3, int dice4, int dice5) { int Dice[6]; // Dice[0] no use int MaxSame, i,j, sCount; Dice[1] = dice1; Dice[2] = dice2; Dice[3] = dice3; Dice[4] = dice4; Dice[5] = dice5; MaxSame = 0; for ( i = 1; i <= 5; i++) { sCount = 0; for ( j = 1; j <= 5; j++) { if ( Dice[i] == Dice[j]) sCount++; } if (MaxSame < sCount) MaxSame = sCount; // record max same number } return MaxSame; } void main() { int dice1, dice2, dice3, dice4, dice5; int sTotal, sNumEqual; printf("Counting all four of a kind outcomes...\n"); // go thru all cases sTotal = 0; //initialize to 0 for ( dice1 = 1; dice1 <= 6; dice1++) for ( dice2 = 1; dice2 <= 6; dice2++) for ( dice3 = 1; dice3 <= 6; dice3++) for ( dice4 = 1; dice4 <= 6; dice4++) for ( dice5 = 1; dice5 <= 6; dice5++) { sNumEqual=CountEqual(dice1,dice2,dice3,dice4,dice5); if (sNumEqual==4) { sTotal++; // increase if there is four of a kind printf("%3d %3d %3d %3d %3d\n",dice1,dice2,dice3,dice4,dice5); } } printf("\n\nTotal of %d four of a kind \n", sTotal); }