Project Euler

Problem #45

Triangle, pentagonal, and hexagonal numbers are generated by the following formulae:

Triangle   T_(n)=n(n+1)/2   1, 3, 6, 10, 15, ...
Pentagonal   P_(n)=n(3n−1)/2   1, 5, 12, 22, 35, ...
Hexagonal   H_(n)=n(2n−1)   1, 6, 15, 28, 45, ...

It can be verified that T_(285) = P_(165) = H_(143) = 40755.

Find the next triangle number that is also pentagonal and hexagonal.

Ruby: Running time = 2.05s
+#integer_sqrt

+#triangles

+#pentagonals

+#is_pentagonal?

+#hexagonals

+#is_hexagonal?

def p45
  i=285
  while true
    t=triangles(i+=1)
    if(is_pentagonal?(t) and is_hexagonal?(t))
      puts t
      return
    end
  end
end