mirror of
https://github.com/jlengrand/project_euler.git
synced 2026-03-10 00:31:21 +00:00
Solves problem 12, 15, 21, 48
Searches solution for problem 18 Problem 12 takes like 6 hours to process. Should be enhanced !
This commit is contained in:
32
e_12.py
32
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))
|
||||
|
||||
Reference in New Issue
Block a user