Compute the Number Spiral Diagonals

  • 时间:2020-10-11 15:48:46
  • 分类:网络文摘
  • 阅读:162 次

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?

Sum of Number Spiral Diagonals

It is easy to observe that the sum of spiral diagonals are in groups of four: 1, (3, 5, 7, 9), (13, 17, 21, 25) … And the step is incremented by two and we know the last number is the top right corner and its value is N*N if N is the size of the spiral matrix (either row and column).

Thus, we can simulate the process by adding the four numbers and increment the step every four numbers.

1
2
3
4
5
6
7
8
9
10
11
12
function computeSumOfSpiralDiagonals(n) {
  const last = n*n;
  let sum = 1, d = 2, k = 0;
  for (let i = 3; i <= last; i += d) {
      sum += i;
      k ++;
      if (k % 4 == 0) {
          d += 2;
      }
  }
}
console.log(computeSumOfSpiralDiagonals(1001));
function computeSumOfSpiralDiagonals(n) {
  const last = n*n;
  let sum = 1, d = 2, k = 0;
  for (let i = 3; i <= last; i += d) {
      sum += i;
      k ++;
      if (k % 4 == 0) {
          d += 2;
      }
  }
}
console.log(computeSumOfSpiralDiagonals(1001));

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
台湾民视直播-台湾民视在线直播「高清」  台湾民视新闻台直播「高清」  怎么用豆包AI帮我生成GUI界面代码 一键生成界面代码的豆包AI技巧  台湾交通电视台直播「高清」  台湾中天新闻台在线直播「高清」  三立都会台在线直播「高清」  TVBS综合台直播「高清」  TVBS欢乐台直播「高清」  TVBS新闻台直播「高清」  好消息卫星电视台1台直播「高清」 
评论列表
添加评论