撲克牌找 Acers

場景

    • 52 張撲克牌中有 4 張 Aces。
    • 任拿 5 張撲克牌。

問題

    • 僅僅有 1 張撲克牌中是 Aces 之機率:0.2995。
    • 至少有 1 張撲克牌中是 Aces 之機率:0.3412。

GNU R

HyperGeometricProbabilityOfAcesTaken <- function(

numOfCards, numOfAces, numOfCardsTaken, numOfAcesTaken)

{

numOfOthers <- numOfCards - numOfAces

numOfOthersTaken <- numOfCardsTaken - numOfAcesTaken

myProbability <- choose(numOfAces, numOfAcesTaken) *

choose(numOfOthers, numOfOthersTaken) /

choose(numOfCards, numOfCardsTaken)

myProbability

}

myProbability <- vector(mode = "double", length = 3)

# 任拿 5 張撲克牌,僅有 1 張是 Ace 之機率

numOfCards <- 52

numOfAces <- 4

numOfCardsTaken <- 5

numOfAcesTaken <- 1

myProbability[1] <- HyperGeometricProbabilityOfAcesTaken(numOfCards, numOfAces, numOfCardsTaken, numOfAcesTaken)

print(sprintf("Exact 1 Ace:%.4f", myProbability[1]))

# 任拿 5 張撲克牌,全都不是 Ace 之機率

numOfCards <- 52

numOfOthers <- 48

numOfCardsTaken <- 5

numOfOthersTaken <- 5

myProbability[2] <- HyperGeometricProbabilityOfAcesTaken(numOfCards, numOfOthers, numOfCardsTaken, numOfOthersTaken)

print(sprintf("None is Ace:%.4f", myProbability[2]))

# 任拿 5 張撲克牌,至少有 1 張是 Ace 之機率

print(sprintf("At Least 1 Ace:%.4f", 1 - myProbability[2]))