First we set up the chocolate randomisation process, again:
chocolate_types<-c("Cherry Ripe","Dairy Milk","Crunchie", "Caramello","Flake")
make_pack<-function(){
sample(chocolate_types, 8, replace=TRUE, prob=c(25,19,19,18,19))
}
make_pack()
## [1] "Crunchie" "Cherry Ripe" "Crunchie" "Flake" "Dairy Milk"
## [6] "Cherry Ripe" "Cherry Ripe" "Flake"
make_pack()
## [1] "Cherry Ripe" "Cherry Ripe" "Cherry Ripe" "Caramello" "Caramello"
## [6] "Flake" "Crunchie" "Dairy Milk"
replicate(5, make_pack())
## [,1] [,2] [,3] [,4] [,5]
## [1,] "Caramello" "Dairy Milk" "Dairy Milk" "Caramello" "Crunchie"
## [2,] "Cherry Ripe" "Flake" "Cherry Ripe" "Cherry Ripe" "Dairy Milk"
## [3,] "Cherry Ripe" "Flake" "Caramello" "Caramello" "Cherry Ripe"
## [4,] "Crunchie" "Crunchie" "Flake" "Dairy Milk" "Cherry Ripe"
## [5,] "Flake" "Cherry Ripe" "Cherry Ripe" "Cherry Ripe" "Crunchie"
## [6,] "Cherry Ripe" "Caramello" "Flake" "Cherry Ripe" "Flake"
## [7,] "Crunchie" "Cherry Ripe" "Caramello" "Dairy Milk" "Crunchie"
## [8,] "Crunchie" "Caramello" "Flake" "Cherry Ripe" "Cherry Ripe"
Now, we need to work out whether we have all the bars
got_em_all <-function(a_pack){
all(chocolate_types %in% a_pack)
}
a_test_pack<-make_pack()
a_test_pack
## [1] "Crunchie" "Cherry Ripe" "Caramello" "Crunchie" "Caramello"
## [6] "Crunchie" "Caramello" "Dairy Milk"
got_em_all(a_test_pack)
## [1] FALSE
And, finally, we take advantage of the power of modern computing by running this a whole heap of times.
a_whole_heap <- 1e5
table(replicate(a_whole_heap, {
pack<-make_pack()
got_em_all(pack)
}
))
##
## FALSE TRUE
## 68744 31256