Daniele Fucini dfb13c083b
Add comments
Added comments to the python code for the first 25 problems
2019-09-26 13:41:22 +02:00

50 lines
1.2 KiB
Python

#!/usr/bin/python3
# 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?
from timeit import default_timer
from projecteuler import count_divisors
def main():
start = default_timer()
i = 0
triang = 0
finished = 0
# Generate all triangle numbers until the first one with more than 500 divisors is found.
while not finished:
i = i + 1
triang = triang + i
# Use the function implemented in projecteuler.py to count divisors of a number.
if count_divisors(triang) > 500:
finished = 1
end = default_timer()
print('Project Euler, Problem 12')
print('Answer: {}'.format(triang))
print('Elapsed time: {:.9f} seconds'.format(end - start))
if __name__ == '__main__':
main()