I thought I would write a lottery number generator since I have not had
any
luck winning the big jackpot - http://megamillions.com/. So far, after
over
1.2 million tries, I still have not hit all the numbers from yesterday:
2,
17, 22, 32, 51, 35 (last one is the mega ball).
Fun little project that and I thought others would be interested. Let me
know if you have a cleaner implementation in mind.
— code:
def giveMeNumbers
@a=[]
while @a.length <=4
@a << rand(56)+1
@a.uniq!
end
@mega = rand(46)+1
@outPut = @a.sort.push(@mega).join(', ')
end
100000.times do
puts giveMeNumbers
end
Sunny
ps. The next step is to calculate what my winnings would be based on
the
payout table - for non-jackpot winners.
On Dec 4, 2008, at 1:55 AM, Ryan B. wrote:
had any luck winning the big jackpot - http://megamillions.com/. So
@a=[]
100000.times do
puts giveMeNumbers
end
Sunny
ps. The next step is to calculate what my winnings would be based
on the payout table - for non-jackpot winners.
class MegaMillions
From a set of integers from 1 to numbers, choose count,
plus a single bonus number from 1 to bonus
def initialize(numbers=56, count=5, bonus=46)
@numbers, @count, @bonus = numbers, count, bonus
@balls = (1…@numbers).to_a
@pick = nil
end
def autopick
@pick = []
@pick << @balls.sort_by{rand}.first(@count).sort
@pick << rand(@bonus)+1
self
end
def to_s
autopick unless @pick
“#{@pick.first.join(', ')} #{@pick.last}”
end
def inspect
“#<#{self.class.name}:#{‘%#x’%self.object_id}
#{@numbers}C#{@count} + #{@bonus}#{%{ => #{to_s}} if @pick}>”
end
end
picker = MegaMillions.new
puts picker.autopick
-Rob
P.S. I think the sweet spot on the payout matrix is to keep the dollar
in your pocket
Rob B. http://agileconsultingllc.com
[email protected]