""" http://projecteuler.net/index.php?section=problems&id=61 """ import sys from lib import euler def is_cyclic(a, b): return str(a)[-2:] == str(b)[:2] generators = ( euler.triangular_numbers(), euler.square_numbers(), euler.pentagonal_numbers(), euler.hexagonal_numbers(), euler.heptagonal_numbers(), euler.octagonal_numbers() ) # we're told in the Q we only need to consider 4 digit numbers numbers = [] for g in generators: nums = [] for number in g: if len(str(number)) < 4: continue if len(str(number)) > 4: break nums += [number] numbers += [nums]
""" Find the next triangular number which is pentagonal and hexagonal, after 40755 (T_285) """ from lib import euler # very easy with a few helpers for t in euler.triangular_numbers(286): if euler.is_pentagonal(t) and euler.is_hexagonal(t): print t break