【蓝桥杯学习记录】蛇形填数
一、题目
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。请你计算矩阵中第 20 行第 20 列的数是多少?

二、解题思路
填空题,而且数比较小,直接用暴力方法。我们设行为i,列为j,行和列都从1开始。我们从(1,1)开始,观察后发现,在i-1超出边界值1时,i=1,且下次开始i开始++。j同理,超出边界之后j=1,且下次j++。同时我们发现,行数由减变加之后,列由加到减,列同理。
所以我们设置两个falg:flag_i,flag_j(1为加,0为减),初始i=1,j=1。i先减,j先加,但是这时i-1=0,所以下次还是i=1,而此时j=2,此时值为2,且下次j-1,i+1......
具体代码如下:
三、完整代码
四、出现问题
开始while循环条件因为是i=j=20,所以我相当然写的是i!=20 && j!=20。但其实不对,在其中一个出现20的时候,判断就是假,循环就会停止,所以应该是用或运算
