mirror of
https://github.com/jlengrand/project_euler.git
synced 2026-03-10 08:41:20 +00:00
Solves Problem 28. Easy after all
Excellent processing time Still have to perform some good work on prime numbers! Signed-off-by: Julien Lengrand-Lambert <julien@lengrand.fr>
This commit is contained in:
@@ -39,6 +39,7 @@ Should be used in order to help future reuse of code :)
|
|||||||
24 - What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9? - too long <br />
|
24 - What is the millionth lexicographic permutation of the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9? - too long <br />
|
||||||
25 - What is the first term in the Fibonacci sequence to contain 1000 digits? - 0.741 <br />
|
25 - What is the first term in the Fibonacci sequence to contain 1000 digits? - 0.741 <br />
|
||||||
27 - Find a quadratic formula that produces the maximum number of primes for consecutive values of n. - too long <br />
|
27 - Find a quadratic formula that produces the maximum number of primes for consecutive values of n. - too long <br />
|
||||||
|
28 - What is the sum of both diagonals in a 1001 by 1001 spiral? - < 1 sec <br />
|
||||||
29 - How many distinct terms are in the sequence generated by ab for 2 a 100 and 2 b 100? - < 1 sec <br />
|
29 - How many distinct terms are in the sequence generated by ab for 2 a 100 and 2 b 100? - < 1 sec <br />
|
||||||
30 - Find the sum of all the numbers that can be written as the sum of fifth powers of their digits. - < 3 sec <br />
|
30 - Find the sum of all the numbers that can be written as the sum of fifth powers of their digits. - < 3 sec <br />
|
||||||
34 - Find the sum of all numbers which are equal to the sum of the factorial of their digits. - 30 sec <br />
|
34 - Find the sum of all numbers which are equal to the sum of the factorial of their digits. - 30 sec <br />
|
||||||
@@ -52,7 +53,6 @@ Should be used in order to help future reuse of code :)
|
|||||||
**In progress: **
|
**In progress: **
|
||||||
|
|
||||||
26 - Find the value of d < 1000 for which 1/d contains the longest recurring cycle. <br />
|
26 - Find the value of d < 1000 for which 1/d contains the longest recurring cycle. <br />
|
||||||
28 - What is the sum of both diagonals in a 1001 by 1001 spiral? <br />
|
|
||||||
35 - How many circular primes are there below one million? <br />
|
35 - How many circular primes are there below one million? <br />
|
||||||
39 - If p is the perimeter of a right angle triangle, {a, b, c}, which value, for p <= 1000, has the most solutions? <br />
|
39 - If p is the perimeter of a right angle triangle, {a, b, c}, which value, for p <= 1000, has the most solutions? <br />
|
||||||
|
|
||||||
|
|||||||
28
e_28.py
28
e_28.py
@@ -17,14 +17,30 @@ It can be verified that the sum of the numbers on the diagonals is 101.
|
|||||||
|
|
||||||
What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?
|
What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?
|
||||||
'''
|
'''
|
||||||
def sum_power():
|
def sum_diag(max_lines):
|
||||||
"""
|
"""
|
||||||
Finds
|
Returns the sum of both diagonals of the square of max_lines size
|
||||||
"""
|
"""
|
||||||
|
dsum = 1 # sum of diagonals
|
||||||
|
cpt = 1 # number of lines processed
|
||||||
|
val = 1 # value of the current place in the square
|
||||||
|
inc = 0 # the increment between number for one line
|
||||||
|
|
||||||
|
while cpt < max_lines:
|
||||||
|
cpt += 2
|
||||||
|
inc += 2
|
||||||
|
|
||||||
|
for corner in range(4):
|
||||||
|
val += inc
|
||||||
|
dsum += val
|
||||||
|
|
||||||
|
return dsum
|
||||||
return 1
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# The major problem in there is to find the upper limit.
|
# The major problem in there is to find the logic
|
||||||
print "Answer : %d " % (sum_power())
|
#n = 1 gives 1
|
||||||
|
#n = 3 gives 3, 5, 7, 9 => +2
|
||||||
|
#n = 5 gives 13, 17, 21, 25 => +4
|
||||||
|
#n = 7 gives 31, 37, 43, 49 => +6
|
||||||
|
#n = 9 gives 57, . . .
|
||||||
|
print "Answer : %d " % (sum_diag(1001))
|
||||||
|
|||||||
Reference in New Issue
Block a user