27 lines
654 B
Python
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)
|
|
|
|
|