Skip to content

Instantly share code, notes, and snippets.

@kgadek
Last active August 29, 2015 14:17
Show Gist options
  • Save kgadek/a538de28fed61a99f798 to your computer and use it in GitHub Desktop.
Save kgadek/a538de28fed61a99f798 to your computer and use it in GitHub Desktop.
-- Jest pudełko a w środku pewna ilość kulek. Każda kulka ma unikalny numer. Dokonaliśmy N losowań, w których
-- odnotowaliśmy wybór K różnych kulek.
-- Z jaką pewnością możemy stwierdzić, że w środku pudełka było K kulek? Innymi słowy: z jakim prawdopodobieństwem
-- wylosowaliśmy każdą z nich co najmniej raz?
import Data.Ratio
import Text.Printf
choose n k = product [k+1..n] % product [1..n-k]
entry n k i = (1 % (k + i) ^ n) * (choose (k+i) k)
pocisk n k max_i = recip $ sum [entry n k i | i <- [0..max_i]] * (k%1)^n
n = 100
k = 20
main = printf "%.6f\n" (fromRational $ pocisk n k 1000 :: Double)
@kgadek
Copy link
Author

kgadek commented Mar 29, 2015

Wynik to 0.8488206078364924

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment