Python/project_euler/problem_12/sol2.py
2018-12-07 03:28:33 +08:00

9 lines
278 B
Python

def triangle_number_generator():
for n in range(1,1000000):
yield n*(n+1)//2
def count_divisors(n):
return sum([2 for i in range(1,int(n**0.5)+1) if n%i==0 and i*i != n])
print(next(i for i in triangle_number_generator() if count_divisors(i) > 500))