思路
根据所在行、列(i , j)来判断是数字几。
想使用对角线来解决:
- 第 l 条对角线上有 l 个元素,且是蛇形,即:以从上到下为方向,偶数对角线增长,奇数对角线减小。
- 二维数组下标:i + j = l +1
- 第 l 条对角线上的最大的元素是 1/2 * (n^2+n) ,最小的元素是 1/2*(n^2-n)+1
注意
int lmax = (1/2)*(pow(l,2)+l);
在代码里面这样写是不可以的!
1/2 最后是0,0*pow...最后结果变成了0
根据所在行、列(i , j)来判断是数字几。
想使用对角线来解决:
int lmax = (1/2)*(pow(l,2)+l);
在代码里面这样写是不可以的!
1/2 最后是0,0*pow...最后结果变成了0