Начиная с числа 1 и двигаясь дальше вправо по часовой стрелке, образуется следующая спираль 5 на 5:
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
Можно убедиться, что сумма чисел в диагоналях равна 101.
Какова сумма чисел в диагоналях спирали 1001 на 1001, образованной таким же способом?
выразим угловые элементы спирали в общем виде:
n2 - (n-1) | ... | ... | n2 |
... | ... | ... | ... |
... | ... | ... | ... |
n2 - 2(n-1) | ... | ... | n2 - 3(n-1) |
тогда сумма угловых элементов для спирали n x n равна:
(n2) + (n2 - (n-1)) + (n2 - 2(n-1)) + (n2 - 3(n-1)) = 4n2 - 6(n-1)
let diagSum n =
1 + (seq {for i in 3..2..n -> 4*i*i - 6*(i-1)} |> Seq.sum)
let answer = diagSum 1001
printfn $"the answer is {answer}" //the answer is 669171001