# 工学1号馆

home

## Project Euler 28–Number spiral diagonals

Wu Yudong    August 13, 2018     欧拉计划   664

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?

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

#include<stdio.h>

void countSum()
{
int i = 3;
int sum = 1;
int n = (1001 + 1) / 2 - 1;
while (n--) {
int t = i * i;
sum += (4 * t - (i - 1) * 6);
i = i + 2;
}
printf("%d\n", sum);
}

int main()
{
countSum();
return 0;
}


（1），（3，5，7，9），（13，17，21，25）……（$$(2n-1)^2-(2n-1)\times3, (2n-1)^2-(2n-1)\times2, (2n-1)^2-(2n-1)\times1, (2n-1)^2$$）

$$\because (2n-1)^2-(2n-1)\times3+ (2n-1)^2-(2n-1)\times2+(2n-1)^2-(2n-1)\times1+ (2n-1)^2$$

$$=16n^2-28n+16$$

$$\therefore S_{n}=(1+1+1+1)+(3+5+7+9)+(13+17+21+25)+\cdots$$

$$+[(2n-1)^2-(2n-1)\times3+ (2n-1)^2-(2n-1)\times2+(2n-1)^2-(2n-1)\times1+ (2n-1)^2]-3$$

$$=16\times \frac{1}{6}n(n+1)(2n+1)-28\times\frac{n(n+1)}{2}+16\times n-3$$

$$=\frac{1}{3}(16n^3-18n^2+14n)-3$$