Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:
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
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?
In [1]:
1001*1001
Out[1]:
In [2]:
puts 1002001 - 1000
In [14]:
target = 1002001
result = 0
(1..500).to_a.reverse.each do |n|
i = n * 2
result += target
target -= i
result += target
target -= i
result += target
target -= i
result += target
target -= i
end
result + 1
Out[14]: