PyPE solution to PE problem 12
PyPE solution to PE problem 12
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Scott Armitage
- Completed by
- Scott Armitage
Whiteboard
ProjectEule
===
The sequence of triangle numbers is generated by adding the natural numbers
So the 7^(th) 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?
Solution
--------
We loop over all indexes starting from 1 (using itertools.count to create a
never-ending incrementing generator). We note that any given triangular
number can be calculated using
Tn = n*(n+1)/2
and thus we know that
TODO: Improve primefactors, primedecomposition, and numdivisors functions.
Answer
------
76576500