diff --git a/e_12.py b/e_12.py index dd583bb..fa7717f 100755 --- a/e_12.py +++ b/e_12.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ ##--- - # airballman + # Julien Lengrand #Created on : Sun Jan 15 22:35:08 CET 2012 # # DESCRIPTION : Solves problem 12 of Project Euler @@ -17,13 +17,35 @@ 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? + + FIXME : This solution is waaaaaay to long ! ##--- """ -def fun(): +def triangle_divisors(div_number): """ + Returns the value of the first triangle number to have over div_number + divisors """ - - return 1 + val = 0 + inc = 0 + nb_div = 0 + while( nb_div <= div_number): + inc += 1 + val += inc + nb_div = divisors(val) + + return val + +def divisors(value): + """ + Outputs the number of divisors of value + """ + nb_div = 2 + for val in range(2, value ): + if (value % val ==0): + nb_div += 1 + + return nb_div if __name__ == '__main__': - print "Answer : %d" % (fun()) + print "Answer : %d" % (triangle_divisors(500))