Exemple #1
0
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)
Exemple #3
0
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.")