LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 394
Default Coverage of a List of Lotto Tickets

Hi,

I found this Code the Other Day and thought I would give it a go.
Unfortunately, after it had Run, it Produced No Information at All (
Just a Blank Screen ). I also Tried Running it with "num = 14" (
Without the Quotes ) and Still got Nothing.
I Wonder if Anyone can Help Please.

All the Best
Paul



Message 2 in thread
From: Tom Ogilvy
Subject: Coverage of a list of Lotto tickets


View this article only
Newsgroups: microsoft.public.excel.programming
Date: 2001-02-03 09:11:32 PST


Here is a brute force approach that took about 13 minutes on a Celeron
300
This didn't write the combinations, but could easily be adpated to do
that
(of course then you are talking a major increase in time).

Sub GenNumbers()
Dim start As Double
start = Timer
Dim lngCount(0 To 6) As Long
varray = Array(1, 2, 5, 6, 7, 9)
Dim r As Long
num = 49
For i = 1 To num - 5
For j = i + 1 To num - 4
For k = j + 1 To num - 3
For l = k + 1 To num - 2
For m = l + 1 To num - 1
For n = m + 1 To num
r = r + 1
If True Then
icnt = 0
For s = 0 To 5
If i = varray(s) Then icnt = icnt + 1
If j = varray(s) Then icnt = icnt + 1
If k = varray(s) Then icnt = icnt + 1
If l = varray(s) Then icnt = icnt + 1
If m = varray(s) Then icnt = icnt + 1
If n = varray(s) Then icnt = icnt + 1
Next
lngCount(icnt) = lngCount(icnt) + 1
End If
Next
Next
Next
Next
Next
Next
Debug.Print r
lngsum = 0
For s = 0 To 6
If s = 3 Then lngsum = lngsum + lngCount(s)
Debug.Print s & " Matches: " & lngCount(s)
Next
Debug.Print "At least 3 matches " & lngsum
Debug.Print (Timer - start) / 60 & " minutes"
End Sub


Produced
13983816
0 Matches: 6096454
1 Matches: 5775588
2 Matches: 1851150
3 Matches: 246820
4 Matches: 13545
5 Matches: 258
6 Matches: 1
At least 3 matches 260624
12.3773151041667 minutes

Regards,
Tom Ogilvy


wrote in message ...
Hi all,

When we play a lotto ticket, for a 6/49 game
this ticket covers "at least 3" chances,

for 6 if 6 = (6c6)*(43c0)=1*1= 1
for 5 if 6 = (6c5)*(43c1)=6*43= 258
for 4 if 6 = (6c4)*(43c2)=15*903= 13,545
for 3 if 6 = (6c3)*(43c3)=20*12341= 246,820
-----------------------------------------------
For a total of 260,624 combinations

from the population of 49c6= 13,983,816 combinations.

My question is:
How can I calculate the coverage for a list of tickets?

I imagine some use of a "dynamic programming table"
of the binomial coefficients shall do the job
but I'm not that familiar with such a process.

Any help for the construction of the above function
will be greatly appreciated.


Kind regards

MrQ


Sent via Deja.com
http://www.deja.com/

 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Lotto question Bojames Excel Discussion (Misc queries) 3 December 26th 08 05:23 PM
lotto numbers marek Excel Worksheet Functions 2 June 23rd 08 01:56 AM
Lotto template Mickey Mouse[_2_] New Users to Excel 3 February 9th 08 07:49 AM
how to find gaps in the hours scheduled to ensure shift coverage meggy Excel Worksheet Functions 1 November 12th 07 09:10 PM
Using excel display a roster as hourly coverage in units Steve Excel Worksheet Functions 0 March 4th 05 09:48 AM


All times are GMT +1. The time now is 07:42 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"