public void GetExpectedNumberOfGamesBeforePerfectWarGame()
 {
     var duplicateCardProbability = new DuplicateCardProbability();
     var perfectWarGameSolver     = new PerfectWarGameSolver(duplicateCardProbability);
     // 159,620,172
     var expectedValue = perfectWarGameSolver.GetExpectedNumberOfGamesBeforePerfectWarGame();
 }
Exemple #2
0
        public void TestDuplicateCardProbability(int numDistinctCards, int numCopiesOfEachCard, double expectedPobability)
        {
            double epsilon = 0.0001;
            var    duplicateCardProbabilityUtility = new DuplicateCardProbability();
            var    actualProbability = duplicateCardProbabilityUtility.FindProbabilityOfDrawingDuplicateCardAfterDrawing2CardsUntilEmpty(
                numDistinctCards, numCopiesOfEachCard);

            Console.WriteLine($"Num distinct cards: {numDistinctCards}, Probability: {actualProbability}");
            Assert.LessOrEqual(Math.Abs(expectedPobability - actualProbability), epsilon);
        }