第2天打卡
《蛇形填图》
如下图所示,小明用从1开始的正整数“蛇形 ”填充无限大的矩阵。
1 2 6 7 15 …
3 5 8 14 …
4 9 13 …
10 12 …
11 …
…
容易看出矩阵的第二行第二列中的数是5.请你计算矩阵中第20行第20列的数是多少?
#include<iostream>
using namespace std;
int main()
{
int x=1;//第一行第一列初始化
for(int i=1;i<20;i++)
{
x=i*4+x;
}
cout<<x<<endl;
return 0;
}
分析:
第一行第一列的数字是1,第二行第二列的数字是5,第三行第三列的数字是13。所以我们可以得到,中心对角线上数与数之间的间隔是4的倍数。(可以自行证明)
注:只适合个别案列,不可以广泛使用。