diff --git a/Project Euler/Problem 12/sol1.py b/Project Euler/Problem 12/sol1.py new file mode 100644 index 000000000..9c4483fd6 --- /dev/null +++ b/Project Euler/Problem 12/sol1.py @@ -0,0 +1,46 @@ +from __future__ import print_function +from math import sqrt +''' +Highly divisible triangular numbers +Problem 12 +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? +''' +try: + xrange #Python 2 +except NameError: + xrange = range #Python 3 + +def count_divisors(n): + nDivisors = 0 + for i in xrange(1, int(sqrt(n))+1): + if n%i == 0: + nDivisors += 2 + + return nDivisors + +tNum = 1 +i = 1 + +while True: + i += 1 + tNum += i + + if count_divisors(tNum) > 500: + break + +print(tNum) \ No newline at end of file