Tutoriel de htirage =================== On commence par les entêtes nécessaires au compilateur : > {-# OPTIONS_GHC -fno-warn-missing-signatures #-} > module Htirage.Tutorial where > import Htirage > import Data.List (sort) 2 parmi 5 --------- Pour sélectionner 2 choix parmi 5 (ordonnés lexicographiquement) : > x0 = sort ["dominique", "claude", "baya", "zhennan", "camille"] > n0 = length x0 > k0 = 2 Il faut au moins c0 == 3 bits équiprobables : > c0 = equiprobableBits (toInteger n0`nCk`k0) Ce tirage de lotterie en procure length b0 == 23: > b0 = randomOf6aus49 (39,2,19,41,6,30) 9 Et on obtient s0 == ["baya","claude"] : > s0 = drawMany x0 k0 b0 42 parmi 100 ------------ Pour sélectionner 42 choix parmi 100 : > n1 = 100 > k1 = 42 Il faut au moins c1 == 94 bits équiprobables : > c1 = equiprobableBits (n1`nCk`k1) Ces quatres tirages de lotterie en procurent length b1 == 97 : > b1 = randomOf6aus49 (27,2,12,34,22,19) 1 ++ > randomOfEuroMillions (5,14,35,16,10) (2,7) ++ > randomOfFrenchLoto (14,8,26,3,24) 2 ++ > randomOfSwissLoto (17,2,29,37,30,25) 5 Et on obtient s1 == [1,8,9,10,11,12,17,19,20,21,25,26,28,32,35,37,46,50 ,51,52,54,55,57,60,61,63,65,66,67,69,70,73,74,75,78 ,80,83,87,89,90,92,97] > s1 = drawMany [1..n1] k1 b1