Оглавление > Диагонали числовой спирали
06.06.2023

Диагонали числовой спирали

Начиная с числа 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)

  • найдем сумму угловых элементов для спирали 3х3
  • для спирали 5х5
  • ...
  • для спирали 1001х1001
  • сложим все вместе
  • прибавим единицу
  • выведем ответ
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
Задать вопрос автору, обсудить