Files
project-euler/problem-44.py
2018-07-02 15:45:49 -04:00

27 lines
654 B
Python

import itertools
def pentagonal_number(n):
return n * (3 * n - 1) / 2
if __name__ == '__main__':
pentagonals = []
for i in range(1, 10000):
pentagonals.append(pentagonal_number(i))
pentagonals = set(pentagonals)
combos = itertools.combinations(pentagonals, 2)
lowest_diff = 9999999
final_pents = False
for combo in combos:
total = combo[0] + combo[1]
diff = abs(combo[0] - combo[1])
if total in pentagonals and diff in pentagonals:
if diff < lowest_diff:
lowest_diff = diff
final_pents = combo
print(final_pents)
print(lowest_diff)