Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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?
- #An integer x is triangular if and only if 8x + 1 is a square.
- #Source: http://en.wikipedia.org/wiki/Triangular_number
- #Section: Triangular roots and tests for triangular numbers
- def isPerfectSquare(n):
- if n < 0:
- return False
- result = int(n**0.5)
- return result*result == n
- def isTriangle(n):
- return isPerfectSquare((8*n)+1)
- def divisors(n):
- acc = 0
- for i in range(1,int(n**0.5)+1):
- if n % i == 0:
- acc += 1
- return acc * 2
- i = 1
- while True:
- if isTriangle(i):
- divisorsCount = divisors(i)
- if divisorsCount > 500:
- print i, divisorsCount
- break
- i += 1
Advertisement
Add Comment
Please, Sign In to add comment