While on the bus in Russia, they give you a ticket with a 6 digit number.
The Russian I was with closely read the numbers, and I asked “Why do you care about the number?”
She said, “If the first three numbers equal the last three numbers, it’s a ‘Happy Ticket’ and I keep it.”
I tried to figure the odds on getting a “Happy Ticket” and just gave up.
I’m a programmer, not a mathematician.
So I wrote a Ruby script to iterate thru the numbers and do a comparison of the first three and the last three.
#!/usr/bin/env ruby i = 0 happy = 0 theCount = Array.new while i < 999999 i += 1 f = sprintf '%06d', i # f is a six digit number theCount = f.chars.to_a first = theCount.fetch(0).to_i + theCount.fetch(1).to_i + theCount.fetch(2).to_i last = theCount.fetch(3).to_i + theCount.fetch(4).to_i + theCount.fetch(5).to_i if first == last happy += 1 print("Happy Number ", happy," is ", theCount[0..2], theCount[3..5], "\n") end end
The end result is that there are 55,252 ‘Happy Numbers’, meaning your odds of getting one is about 5.5%