主对角线和副对角线的小技巧

小样例

大家仔细观察一下下面的列表,看有没有啥特别的地方,或者规律的地方呢?

<0,0>  <0,1>  <0,2>

<1,0>  <1,1>  <1,2>

<2,0>  <2,1>  <2,2>

画画辅助线,观察一下主对角线上的数字和副对角线的数字,他们相加或者相减会有什么规律呢?大家可以动手试一试!

1.主对角线

主对角线上<0,0>、<1,1>、<2,2>,他们的i相加分别等于0,2,4,好像没啥规律;那我们再相减试试!咦惹!我们可以发现他们相减都等于0!这个很重要呢!(y-x)

那么与主对角线平行的对角线呢?我们在试试看!找到点<1,0>、<2,1>和<0,1>、<1,2>,我们再把他们相减试试看!我们可以发现:他们两组相减(y-x)分别等于-1和1!这就是主对角线上的规律!y-x等于一个常数!那我们在代码应用中要怎么使用呢?

//代码实现
int a[4];        //记录每一条与主对角线平行的线(包含主对角线)
a[y-x+3] =1;        //即是对应的线的数组位置!


//如主对角线就是由a[3]代表!

2.副对角线

副对角线上<0,2><1,1><2,0>,我们把他们相加试试看,分别等于2,2,2!咦惹!这是一个很明显的规律呢!没错他们的规律就是x+y等于一个常数!我看看其他位置的,<0,1><1,0>和<1,2><2,1>他们相加分别等于1和3,相比大家已经知道他们的规律了吧!

int a[4];

a[i+j];

//例子:a[1+1]=a[2+0]=a[0+2]代表的就是主队角线

3.最后

希望这些对大家有所帮助!谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个有梦想的懒人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值