diff --git a/project_euler/problem_12/sol2.py b/project_euler/problem_12/sol2.py new file mode 100644 index 000000000..479ab2b90 --- /dev/null +++ b/project_euler/problem_12/sol2.py @@ -0,0 +1,8 @@ +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))