Compute the Number Spiral Diagonals
- 时间:2020-10-11 15:48:46
- 分类:网络文摘
- 阅读:167 次
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 13It 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) —
推荐阅读:Online Multiplayer Game Goes Viral By Reinventing A Classic 5 Things Beginning Bloggers Struggle With the Most Win the “Integral” WordPress Theme from Themely 7 Habits of Highly Productive Bloggers How a Business Owner Builds Relationships With Influential Blogg 5 Promising Tools to Help Boost Your Online Startup How to For-Loop and do Math/Arithmetic Operations in Windows/NT How to Find the Closest Sum of Three in an Array using Two Point The Lazy Singleton Design Pattern in Java How to Find out the Most Frequent Subtree Sum using Depth First
- 评论列表
-
- 添加评论