def main(): """Main program.""" answer = 10**10 start_time = time.time() index_n = 1 while True: index_n += 1 p_number_1 = fn.get_pentagonal_number(index_n) for index_b in range(index_n - 1, 0, -1): p_number_2 = fn.get_pentagonal_number(index_b) diff_p = abs(p_number_1 - p_number_2) if fn.is_pentagonal(diff_p): sum_p = p_number_1 + p_number_2 if fn.is_pentagonal(sum_p): answer = min(answer, diff_p) break if answer < 10**10: break end_time = time.time() print("The answer is %d" % answer) print("%f seconds elapsed." % (end_time - start_time)) import pyperclip pyperclip.copy(str(answer)) print("The answer has been placed in the clipboard.")
def test_is_pentagonal(self): """Test is_pentagonal()""" p_numbers = [1, 5, 12, 22, 35, 51, 70, 92, 117, 145] for number in p_numbers: self.assertTrue(fn.is_pentagonal(number), "%d should be pentagonal" % number) not_p_numbers = [2, 3, 4, 6, 7, 27, 37, 55, 77, 96, 120, 150] for number in not_p_numbers: self.assertFalse(fn.is_pentagonal(number), "%d should not be pentagonal" % number)
def main(): """Main program.""" answer = 0 start_time = time.time() index = 285 while True: index = index + 1 t_number = fn.get_triangular_number(index) if fn.is_pentagonal(t_number) and fn.is_hexagonal(t_number): answer = t_number break end_time = time.time() print("The answer is %d" % answer) print("%f seconds elapsed." % (end_time - start_time)) import pyperclip pyperclip.copy(str(answer)) print("The answer has been placed in the clipboard.")