题目:
螺旋数阵对角线:
从1开始,按顺时针顺序向右铺开的5 × 5螺旋数阵如下所示:
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
可以验证,该数阵对角线上的数之和是101。以同样方式构成的1001 × 1001螺旋数阵对角线上的数之和是多少?
留下的泪:一开始用二维数组存储,一步步模拟,调试变量,用了大概一个多小时,结果数组越界了。。。。。1001*1001用二维数组或者结构体做都运行不了(也可能是我比较菜的原因)。好了,废话不多说,奔主题吧。
思路:仔细观看矩阵你会发现,从左上到右下的对角线是1,3,7,13......这不就是公比+2+4+6+8的数列么。然后看左下到右上的对角线你会发现1,5,9,17,25.......这也是有规律的5=1+4,9=5+4,17=9+4*2,25=17+4*2.相信你已经明白了。这时候我的代码估计也不重要了,还是上传一下吧,里面有一些细节一定要注意,中心只加一次,还有循环次数两个对角线是不一样的。