Advertisement
doanhtu

Euler problem #45

Mar 6th, 2018
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.52 KB | None | 0 0
  1. # Base on PE #44
  2.  
  3. def is_hexagonal_number(x):
  4.     n = (math.sqrt(x * 8 + 1) + 1) / 4
  5.     return int(n) if n.is_integer() else False
  6.  
  7.  
  8. def cal_hexagonal_number(n):
  9.     return n * (2 * n - 1)
  10.  
  11.  
  12. def main():
  13.     i = 143
  14.     while True:
  15.         i += 1
  16.         r = cal_hexagonal_number(n)
  17.         if is_pentagonal_number(r):
  18.             return(i, r)
  19.  
  20.  
  21. if __name__ == '__main__':
  22.     main()
  23.  
  24.  
  25. In [54]: %time main()
  26. CPU times: user 19.3 ms, sys: 0 ns, total: 19.3 ms
  27. Wall time: 19.2 ms
  28. Out[54]: (27693, 1533776805)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement