Compute the Number Spiral Diagonals

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

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) —

推荐阅读:
How to Construct Binary Search Tree from Preorder Traversal? (C+  How to Compute the Number of Pawns-Captures for Rook in Chess?  Build Your First Node.JS Unikernel with OPS  The Intersection Algorithm of Two Arrays using Hash Maps in C++/  What Businesses Would Be Like if Web Hosting Didn’t Exist?  How to Find the Dominant Index in Array (Largest Number At Least  K Closest Points to Origin Algorithm by using Priority Queues in  Total Number of Ways to Decode the Message via Dynamic Programmi  The License Key Formatting Algorithm in C++  Integrating LinkedIn Long-Form Posts in Your Blogging Strategy 
评论列表
添加评论