2010-05-04 18:21:07 +00:00
|
|
|
"""What is the sum of both diagonals in a 1001 by 1001 spiral?
|
2010-05-03 22:40:23 +00:00
|
|
|
|
2010-05-04 18:21:07 +00:00
|
|
|
Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:
|
2010-05-03 22:40:23 +00:00
|
|
|
|
2010-05-04 18:21:07 +00:00
|
|
|
[21]22 23 24[25]
|
|
|
|
20 [7] 8 [9]10
|
|
|
|
19 6 [1] 2 11
|
|
|
|
18 [5] 4 [3]12
|
|
|
|
[17]16 15 14[13]
|
2010-05-03 22:40:23 +00:00
|
|
|
|
2010-05-04 18:21:07 +00:00
|
|
|
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?
|
|
|
|
"""
|
|
|
|
|
|
|
|
def main():
|
|
|
|
n = 1
|
|
|
|
total = 1
|
|
|
|
size = 1
|
|
|
|
|
|
|
|
MAX_SIZE = 1001
|
|
|
|
|
|
|
|
while size <= MAX_SIZE:
|
|
|
|
for i in range(4):
|
|
|
|
n = n + (size - 1)
|
|
|
|
if n > 1:
|
|
|
|
total = total + n
|
|
|
|
size = size + 2
|
|
|
|
|
|
|
|
print 'Total:', total
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|