'''
euler_012.py
Twelvth problem in the Project Euler series.

---------------------------------------------------------------------------
The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

 1: 1
 3: 1,3
 6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28
We can see that 28 is the first triangle number to have over five divisors.

What is the value of the first triangle number to have over five hundred divisors?
---------------------------------------------------------------------------

Written by Stephen Outten 11 January 2019
'''

import numpy as np
import mathfuncs as mf
import time

start = time.time()

tri_numb = 1
next_int = 2
while True:
    if mf.numb_factors(tri_numb) > 500:
        answer = tri_numb
        break
    else:
        tri_numb += next_int
        next_int += 1

    
print('The first triangle number to have over 500 divisors is {0}.'.format(answer))

print('This took {0:.2f} seconds.'.format(time.time()-start))







