Hi!

I'd just like to post my isHappy? method:


class Integer
  def isHappy?
    return to_s.split(//).collect{|digit| digit.to_i**2}.inject{|sum, n| sum + 
n }.isHappy? while self!=1
    true
    rescue
    false
  end
end

puts 
115485454654987986246476765451256546545241654555555555555555555555555555555555554125665146454122345444487.isHappy?
true

This method may return false negative (if happiness>maximum stack level), 
though I doubt no one will ever find one!

Thanks for the quiz,

Eric





On Friday 01 September 2006 15:01, 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 Shane Emmons
>
> Write a program that tells whether a given integer is happy. A happy number
> is found using the following process: Take the sum of the squares of its
> digits, and continue iterating this process until it yields 1, or produces
> an infinite loop.
>
> For example the number 7:
>
> 	7^2 = 49
> 	4^2 + 9^2 = 97
> 	9^2 + 7^2 = 130
> 	1^2 + 3^2 + 0^2 = 10
> 	1^2 + 0^2 = 1
>
> If a number is not happy than it is obviously unhappy. Now that you have
> this program, what is the largest happy number you can find? What is the
> happiest number between 1 and 1,000,000. I define the happiest number as
> the smallest number that finds the most other happy numbers with it, i.e. 7
> found four other numbers (49, 97, 130, and 10) making it a rank 4 in
> happiness.
>
> If you find all these examples trivial, write you program so that it will
> find happy numbers in other bases such as base 2 or 16. From there you can
> extend the program so that it finds happy bases (other than 2 and 4). A
> happy bases is a base where all numbers are happy. Good luck.