Compute the Number Spiral Diagonals

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

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 Split a String in Balanced Strings?  Finding Out the Longest Arithmetic Subsequence of Given Differen  How to Count the Prime Number of Set Bits in Binary Representati  How to Create a Mock Echo Soap/REST API using SoapUI?  How to Partition Array into Disjoint Intervals?  The Complex Number Multiplication Function  Beauty Blogger Dies In Freak Accident While On Vacation  5 Killer SEO Posts that You Can Apply on Your Blog This 2017  Here’s How WordPress Is Swallowing Up The Internet  Linden Labs Looks To Create ‘WordPress For Social VR’ 
评论列表
添加评论