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
2520
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?
--------------------
- #include <stdio.h>
-
-
#define N 1001/2
-
-
-
int main(int argc, const char *argv[])
-
{
-
int sum = 1;
-
int i;
-
-
for (i = 1; i <= N; i++)
-
sum += 4*(2*i+1)*(2*i+1) - 12*i;
-
-
printf("sum: %d\n", sum);
-
-
return 0;
-
}
注意N在某值时可能导致溢出。
阅读(2498) | 评论(0) | 转发(1) |