mu chance or much chance ?

日々の戯れ言

Project Euler 45

  • 問題

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

Triangle:Tn=n(n+1)/2 1, 3, 6, 10, 15, ...
Pentagonal:Pn=n(3n−1)/2 1, 5, 12, 22, 35, ...
Hexagonal:Hn=n(2n−1) 1, 6, 15, 28, 45, ...
It can be verified that T285 = P165 = H143 = 40755.

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

  • 解答例
import math

def isPentagonalNum(n):
    x = (math.sqrt(24 * n + 1) + 1) / 6.0
    return x.is_integer()
    
def calcHexagonalNum(n):
    return n * (2 * n - 1)

ansList = []
num = 1

while len(ansList) < 3:
    if isPentagonalNum(calcHexagonalNum(num)):
        ansList.append(calcHexagonalNum(num))
    num += 1
    
print(ansList)