From: Carl Porth Date: 2007-10-01T05:04:14+09:00 Subject: Re: Probable Iterations (#141) Nothing too shocking: http://pastie.caboo.se/102267 Carl On Sep 28, 6:21 am, Ruby Quiz wrote: > The three rules of Ruby Quiz: > > 1. Please do not post any solutions or spoiler discussion for this quiz until > 48 hours have passed from the time on this message. > > 2. Support Ruby Quiz by submitting ideas as often as you can: > > http://www.rubyquiz.com/ > > 3. Enjoy! > > Suggestion: A [QUIZ] in the subject of emails about the problem helps everyone > on Ruby Talk follow the discussion. Please reply to the original quiz message, > if you can. > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-= > > by Kenneth Kin Lum > > You just did some probability calculations, and don't know if the answers are > correct. So you write a program to verify the results. If you have eight dice, > and throw them all at once, what is the probability that there are AT LEAST > three fives? Try to write a program that find out the "number of desirable > outcomes" / "number of possible outcomes" by iterating through all the possible > outcomes of the dice throw. > > It has a verbose mode to see that the program is running correctly (for the case > 2 dice, at least 1 five): > > C:\rails\depot>ruby dice.rb -v 2 1 > 1 [1,1] > 2 [2,1] > 3 [3,1] > 4 [4,1] > 5 [5,1] <== > 6 [6,1] > 7 [1,2] > 8 [2,2] > 9 [3,2] > 10 [4,2] > 11 [5,2] <== > 12 [6,2] > 13 [1,3] > 14 [2,3] > 15 [3,3] > 16 [4,3] > 17 [5,3] <== > 18 [6,3] > 19 [1,4] > 20 [2,4] > 21 [3,4] > 22 [4,4] > 23 [5,4] <== > 24 [6,4] > 25 [1,5] <== > 26 [2,5] <== > 27 [3,5] <== > 28 [4,5] <== > 29 [5,5] <== > 30 [6,5] <== > 31 [1,6] > 32 [2,6] > 33 [3,6] > 34 [4,6] > 35 [5,6] <== > 36 [6,6] > > Number of desirable outcomes is 11 > Number of possible outcomes is 36 > > Probability is 0.3055555555555556 > > C:\rails\depot>ruby dice.rb 8 3 > > Number of desirable outcomes is 226491 > Number of possible outcomes is 1679616 > > Probability is 0.1348468935756745 > > It also has a "sample mode" to print out the samples every 50,000 times in the > loop: > > C:\rails\depot>ruby dice.rb -s 8 3 > 1 [1,1,1,1,1,1,1,1] > 50001 [3,6,3,4,3,1,2,1] > 100001 [5,5,6,1,6,1,3,1] > 150001 [1,5,3,5,2,2,4,1] > 200001 [3,4,6,2,5,2,5,1] > 250001 [5,3,3,6,1,3,6,1] > 300001 [1,3,6,3,4,3,1,2] > 350001 [3,2,3,1,1,4,2,2] > 400001 [5,1,6,4,3,4,3,2] > 450001 [1,1,3,2,6,4,4,2] > 500001 [3,6,5,5,2,5,5,2] <== > 550001 [5,5,2,3,5,5,6,2] <== > 600001 [1,5,5,6,1,6,1,3] > 650001 [3,4,2,4,4,6,2,3] > 700001 [5,3,5,1,1,1,4,3] > 750001 [1,3,2,5,3,1,5,3] > 800001 [3,2,5,2,6,1,6,3] > 850001 [5,1,2,6,2,2,1,4] > 900001 [1,1,5,3,5,2,2,4] > 950001 [3,6,1,1,2,3,3,4] > 1000001 [5,5,4,4,4,3,4,4] > 1050001 [1,5,1,2,1,4,5,4] > 1100001 [3,4,4,5,3,4,6,4] > 1150001 [5,3,1,3,6,4,1,5] > 1200001 [1,3,4,6,2,5,2,5] > 1250001 [3,2,1,4,5,5,3,5] <== > 1300001 [5,1,4,1,2,6,4,5] > 1350001 [1,1,1,5,4,6,5,5] <== > 1400001 [3,6,3,2,1,1,1,6] > 1450001 [5,5,6,5,3,1,2,6] <== > 1500001 [1,5,3,3,6,1,3,6] > 1550001 [3,4,6,6,2,2,4,6] > 1600001 [5,3,3,4,5,2,5,6] <== > 1650001 [1,3,6,1,2,3,6,6] > > Number of desirable outcomes is 226491 > Number of possible outcomes is 1679616 > > Probability is 0.1348468935756745