
Untitled
By: a guest on
Sep 21st, 2012 | syntax:
None | size: 0.46 KB | hits: 8 | expires: Never
class Integer
def pentagonal?
((Math.sqrt(24 * self + 1) + 1) / 6) % 1 == 0
end
end
def pentagonal_number(n)
n * (3 * n - 1) / 2
end
max = 10000
pentagonal_numbers = (1..max).to_a.map {|i| pentagonal_number(i) }
pentagonal_numbers.each do |sum|
pentagonal_numbers.select {|v| v < sum / 2 }.each do |p1|
p2 = sum - p1
d = p2 - p1
if p2.pentagonal? && d.pentagonal?
p "sum:#{sum} p1:#{p1} p2:#{p2} d:#{d}"
exit
end
end
end